Subject: Re: [PATCH 2/2] of: net: fix of_get_mac_addr_nvmem() for PCI and DSA nodes

From: Andrew Lunn <[email-masked]>
Date: Mon, 5 Apr 2021 23:34:38 +0200

Hi Michael

> -static int of_get_mac_addr_nvmem(struct device_node *np, u8 addr)
> +static int of_get_mac_addr_nvmem(struct device_node *np, u8 *addr)
>  {
>  	struct platform_device *pdev = of_find_device_by_node(np);
> +	struct nvmem_cell *cell;
> +	const void *mac;
> +	size_t len;
>  	int ret;
>  
> -	if (!pdev)
> -		return -ENODEV;
> +	/* Try lookup by device first, there might be a nvmem_cell_lookup
> +	 * associated with a given device.
> +	 */
> +	if (pdev) {
> +		ret = nvmem_get_mac_address(&pdev->dev, addr);
> +		put_device(&pdev->dev);
> +		return ret;
> +	}

Can you think of any odd corner case where nvmem_get_mac_address()
would fail, but of_nvmem_cell_get(np, "mac-address") would work?

      Andrew