diff mbox series

[v2] net: eth-uclass: Fix message if mac is coming from DT or ROM

Message ID 444d2606c18ae9ba904e8ba59e515154e1d10289.1584965507.git.michal.simek@xilinx.com
State Accepted
Commit d4172c940680c1c8aa370898a8d9e8ec0dceaeaf
Delegated to: Joe Hershberger
Headers show
Series [v2] net: eth-uclass: Fix message if mac is coming from DT or ROM | expand

Commit Message

Michal Simek March 23, 2020, 12:11 p.m. UTC
When local-mac-address DT property is specified it is reported the same way
as address read from eeprom/ROM. Show properly if mac address is coming
from DT or ROM.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

Changes in v2:
- Also update source when mac addresses from variable and ROM/DT failed
  to make clear what u-boot used as source.

 net/eth-uclass.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

Comments

Michal Simek April 6, 2020, 11:05 a.m. UTC | #1
po 23. 3. 2020 v 13:11 odesílatel Michal Simek <michal.simek@xilinx.com> napsal:
>
> When local-mac-address DT property is specified it is reported the same way
> as address read from eeprom/ROM. Show properly if mac address is coming
> from DT or ROM.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
> Changes in v2:
> - Also update source when mac addresses from variable and ROM/DT failed
>   to make clear what u-boot used as source.
>
>  net/eth-uclass.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/net/eth-uclass.c b/net/eth-uclass.c
> index ed81cbd53746..8bf2eabe9026 100644
> --- a/net/eth-uclass.c
> +++ b/net/eth-uclass.c
> @@ -490,6 +490,7 @@ static int eth_post_probe(struct udevice *dev)
>         struct eth_device_priv *priv = dev->uclass_priv;
>         struct eth_pdata *pdata = dev->platdata;
>         unsigned char env_enetaddr[ARP_HLEN];
> +       char *source = "DT";
>
>  #if defined(CONFIG_NEEDS_MANUAL_RELOC)
>         struct eth_ops *ops = eth_get_ops(dev);
> @@ -522,6 +523,7 @@ static int eth_post_probe(struct udevice *dev)
>         /* Check if the device has a valid MAC address in device tree */
>         if (!eth_dev_get_mac_address(dev, pdata->enetaddr) ||
>             !is_valid_ethaddr(pdata->enetaddr)) {
> +               source = "ROM";
>                 /* Check if the device has a MAC address in ROM */
>                 if (eth_get_ops(dev)->read_rom_hwaddr)
>                         eth_get_ops(dev)->read_rom_hwaddr(dev);
> @@ -533,9 +535,9 @@ static int eth_post_probe(struct udevice *dev)
>                     memcmp(pdata->enetaddr, env_enetaddr, ARP_HLEN)) {
>                         printf("\nWarning: %s MAC addresses don't match:\n",
>                                dev->name);
> -                       printf("Address in ROM is          %pM\n",
> -                              pdata->enetaddr);
> -                       printf("Address in environment is  %pM\n",
> +                       printf("Address in %s is\t\t%pM\n",
> +                              source, pdata->enetaddr);
> +                       printf("Address in environment is\t%pM\n",
>                                env_enetaddr);
>                 }
>
> @@ -543,8 +545,8 @@ static int eth_post_probe(struct udevice *dev)
>                 memcpy(pdata->enetaddr, env_enetaddr, ARP_HLEN);
>         } else if (is_valid_ethaddr(pdata->enetaddr)) {
>                 eth_env_set_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
> -               printf("\nWarning: %s using MAC address from ROM\n",
> -                      dev->name);
> +               printf("\nWarning: %s using MAC address from %s\n",
> +                      dev->name, source);
>         } else if (is_zero_ethaddr(pdata->enetaddr) ||
>                    !is_valid_ethaddr(pdata->enetaddr)) {
>  #ifdef CONFIG_NET_RANDOM_ETHADDR
> --
> 2.25.1
>

Applied.
M
diff mbox series

Patch

diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index ed81cbd53746..8bf2eabe9026 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -490,6 +490,7 @@  static int eth_post_probe(struct udevice *dev)
 	struct eth_device_priv *priv = dev->uclass_priv;
 	struct eth_pdata *pdata = dev->platdata;
 	unsigned char env_enetaddr[ARP_HLEN];
+	char *source = "DT";
 
 #if defined(CONFIG_NEEDS_MANUAL_RELOC)
 	struct eth_ops *ops = eth_get_ops(dev);
@@ -522,6 +523,7 @@  static int eth_post_probe(struct udevice *dev)
 	/* Check if the device has a valid MAC address in device tree */
 	if (!eth_dev_get_mac_address(dev, pdata->enetaddr) ||
 	    !is_valid_ethaddr(pdata->enetaddr)) {
+		source = "ROM";
 		/* Check if the device has a MAC address in ROM */
 		if (eth_get_ops(dev)->read_rom_hwaddr)
 			eth_get_ops(dev)->read_rom_hwaddr(dev);
@@ -533,9 +535,9 @@  static int eth_post_probe(struct udevice *dev)
 		    memcmp(pdata->enetaddr, env_enetaddr, ARP_HLEN)) {
 			printf("\nWarning: %s MAC addresses don't match:\n",
 			       dev->name);
-			printf("Address in ROM is          %pM\n",
-			       pdata->enetaddr);
-			printf("Address in environment is  %pM\n",
+			printf("Address in %s is\t\t%pM\n",
+			       source, pdata->enetaddr);
+			printf("Address in environment is\t%pM\n",
 			       env_enetaddr);
 		}
 
@@ -543,8 +545,8 @@  static int eth_post_probe(struct udevice *dev)
 		memcpy(pdata->enetaddr, env_enetaddr, ARP_HLEN);
 	} else if (is_valid_ethaddr(pdata->enetaddr)) {
 		eth_env_set_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
-		printf("\nWarning: %s using MAC address from ROM\n",
-		       dev->name);
+		printf("\nWarning: %s using MAC address from %s\n",
+		       dev->name, source);
 	} else if (is_zero_ethaddr(pdata->enetaddr) ||
 		   !is_valid_ethaddr(pdata->enetaddr)) {
 #ifdef CONFIG_NET_RANDOM_ETHADDR