Messages in this thread | | | Date | Tue, 13 Nov 2018 22:09:13 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH v1] tg3: optionally get mac address from devicetree |
| |
> +static int tg3_of_get_macaddr(struct tg3 *tp) > { > - struct net_device *dev = tp->dev; > - struct pci_dev *pdev = tp->pdev; > - struct device_node *dp = pci_device_to_OF_node(pdev); > - const unsigned char *addr; > - int len; > + struct device_node *np = pci_device_to_OF_node(tp->pdev); > + const void *mac; > > - addr = of_get_property(dp, "local-mac-address", &len); > - if (addr && len == ETH_ALEN) { > - memcpy(dev->dev_addr, addr, ETH_ALEN); > - return 0; > - } > - return -ENODEV; > + if (!np) > + return -ENODEV; > + mac = of_get_mac_address(np); > + if (!mac || !is_valid_ether_addr(mac)) > + return -EINVAL;
Hi Sven
If i'm reading of_get_mac_address() correctly, there is no need to call is_valid_ether_addr() afterwards. It does it already.
Andrew
| |