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

From: Andrew Lunn

Date: Mon May 04 2026 - 08:46:11 EST


On Sun, May 03, 2026 at 08:10:19PM -0700, Rosen Penev wrote:
> The platform_ variant calls arch_get_platform_mac_address which is only
> implemented under SPARC.

platform_get_ethdev_address() calls eth_platform_get_mac_address().

int eth_platform_get_mac_address(struct device *dev, u8 *mac_addr)
{
unsigned char *addr;
int ret;

ret = of_get_mac_address(dev->of_node, mac_addr);
if (!ret)
return 0;

addr = arch_get_platform_mac_address();
if (!addr)
return -ENODEV;

ether_addr_copy(mac_addr, addr);

return 0;
}

> Switch to the of variant as of functions are used in the surrounding
> code and to get EPROBE_DEFER support in order to handle NVMEM MAC
> address specifications.

So there is a call to of_get_mac_address(). And it calls
arch_get_platform_mac_address() as well. If you only call
of_get_mac_address(), don't you break SPARC?

If EPROBE_DEFER is what you are trying to get, please change
eth_platform_get_mac_address() to actually return it, not break SPARC.

Andrew

---
pw-bot: cr