Re: [PATCH v1] tg3: optionally get mac address from devicetree

From: Andrew Lunn
Date: Tue Nov 13 2018 - 16:09:22 EST


> +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