[U-Boot] [PATCH 07/14] net: core: Inform the user of the device MAC address
Joe Hershberger
joe.hershberger at gmail.com
Thu Feb 2 17:52:31 UTC 2017
Hi Olliver,
On Fri, Dec 2, 2016 at 4:08 AM, Olliver Schinagl <oliver at schinagl.nl> wrote:
> Hey Joe,
>
>
>
> On 30-11-16 20:29, Joe Hershberger wrote:
>>
>> On Fri, Nov 25, 2016 at 9:30 AM, Olliver Schinagl <oliver at schinagl.nl>
>> wrote:
>>>
>>> In certain conditions we currently print the MAC address. For example a
>>> warning when a random mac address is in use or a missmatch between HW
>>> and ENV.
>>>
>>> If all things went well however (but even if there is a miss-match) we
>>> do not inform the user what the final MAC address of the device is.
>>>
>>> Lets print the final MAC address of the device with which it has been
>>> setup.
>>>
>>> Signed-off-by: Olliver Schinagl <oliver at schinagl.nl>
>>> ---
>>> net/eth-uclass.c | 9 ++++++---
>>> net/eth_legacy.c | 3 +++
>>> 2 files changed, 9 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/net/eth-uclass.c b/net/eth-uclass.c
>>> index aca3f6d..5c888b8 100644
>>> --- a/net/eth-uclass.c
>>> +++ b/net/eth-uclass.c
>>> @@ -413,11 +413,12 @@ int eth_initialize(void)
>>> }
>>>
>>> bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT);
>>> + putc('\n');
>>> do {
>>> - if (num_devices)
>>> - printf(", ");
>>> + struct eth_pdata *pdata = dev->platdata;
>>>
>>> - printf("eth%d: %s", dev->seq, dev->name);
>>> + printf("eth%d: %s [%pM]\n", dev->seq, dev->name,
>>> + pdata->enetaddr);
>>>
>>> if (ethprime && dev == prime_dev)
>>> printf(" [PRIME]");
>>> @@ -522,6 +523,8 @@ static int eth_post_probe(struct udevice *dev)
>>> #endif
>>> }
>>>
>>> + printf("%s ", dev->name);
>>> +
>>
>> Why this?
>>
>> Can you send to the list what an example output looks like?
>
>
> Absolutly. Right now I have this, with the v2 work I'm doing to print the
> mac source.
Was there a v2?
> Net: ethernet at 01c50000 <other etnernet devices>
> eth0: ethernet at 01c50000 [cc:bd:d3:00:01:c6] (EEPROM)
> eth1: <other_ethernet_device1> [<other_mac>] (<other_source>)
>
>
> If there is an error or warning from the net layer (during probe, during
> init etc)
> we get something like
>
> Net: CRC error on MAC address from EEPROM on device: ethernet at 01c50000
> <other warning> on device: <other_device>
> eth0: ethernet at 01c50000 [02:4b:04:42:12:31] (driver)
>
> (where driver is the read_rom_hwaddr hook a driver supplies).
>
> I did not go over all error messages to print it as pretty. So in that case
> it will be
> Net: Some error. ethernet at 01c50000
>
> Olliver
>
>>
>> Thanks,
>> -Joe
>>
>>> return 0;
>>> }
>>>
>>> diff --git a/net/eth_legacy.c b/net/eth_legacy.c
>>> index 2b2c2de..bf4de37 100644
>>> --- a/net/eth_legacy.c
>>> +++ b/net/eth_legacy.c
>>> @@ -178,6 +178,9 @@ int eth_write_hwaddr(struct eth_device *dev, const
>>> char *base_name,
>>> dev->name);
>>> }
>>>
>>> + printf("%s (eth%d) has MAC address: %pM\n",
>>> + dev->name, eth_number, dev->enetaddr);
>>> +
>>> return ret;
>>> }
>>>
>>> --
>>> 2.10.2
>>>
>>> _______________________________________________
>>> U-Boot mailing list
>>> U-Boot at lists.denx.de
>>> http://lists.denx.de/mailman/listinfo/u-boot
>
>
More information about the U-Boot
mailing list