Re: [PATCH net-next] net: enc28j60: use of_get_ethdev_address

From: Andrew Lunn

Date: Mon Apr 27 2026 - 10:24:39 EST


On Sun, Apr 26, 2026 at 10:25:33PM -0700, Rosen Penev wrote:
> Since this is an OF only driver, of_ instead of device_ allows nvmem to
> be used to specify the MAC address.

Now that is usual, somebody converting device_ to of_. It is normally
the other way around, for not particularly good reasons. Nice.

> - if (device_get_ethdev_address(&spi->dev, dev))
> + ret = of_get_ethdev_address(spi->dev.of_node, dev);
> + if (ret == -EPROBE_DEFER)
> + return ret;

/**
* device_get_mac_address - Get the MAC for a given device
* @dev: Pointer to the device
* @addr: Address of buffer to store the MAC in
*/
int device_get_mac_address(struct device *dev, char *addr)
{
if (!fwnode_get_mac_address(dev_fwnode(dev), addr))
return 0;

return nvmem_get_mac_address(dev, addr);
}
EXPORT_SYMBOL(device_get_mac_address);

This appears to support nvmem. Would device_get_mac_address() actually
work? I'm not against swapping to of_get_ethdev_address, but the
commit message should be accurate.

Andrew