The ASIX 88179 driver already has helpers for reading the MAC address.

Add support for the read_rom_hwaddr() ops using the existing
asix_read_mac() helper function.

Signed-off-by: Jonas Karlman <[email protected]>
---
 drivers/usb/eth/asix88179.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c
index 1ce90eb794cd..3ac7dd276a03 100644
--- a/drivers/usb/eth/asix88179.c
+++ b/drivers/usb/eth/asix88179.c
@@ -629,6 +629,20 @@ static int ax88179_write_hwaddr(struct udevice *dev)
        return asix_write_mac(ueth, pdata->enetaddr);
 }
 
+static int ax88179_read_rom_hwaddr(struct udevice *dev)
+{
+       struct eth_pdata *pdata = dev_get_plat(dev);
+       struct asix_private *priv = dev_get_priv(dev);
+       struct ueth_data *ueth = &priv->ueth;
+       int ret;
+
+       ret = asix_read_mac(ueth, pdata->enetaddr);
+       if (ret)
+               memset(pdata->enetaddr, 0, ETH_ALEN);
+
+       return 0;
+}
+
 static int ax88179_eth_probe(struct udevice *dev)
 {
        struct eth_pdata *pdata = dev_get_plat(dev);
@@ -666,6 +680,7 @@ static const struct eth_ops ax88179_eth_ops = {
        .free_pkt = ax88179_free_pkt,
        .stop = ax88179_eth_stop,
        .write_hwaddr = ax88179_write_hwaddr,
+       .read_rom_hwaddr = ax88179_read_rom_hwaddr,
 };
 
 U_BOOT_DRIVER(ax88179_eth) = {
-- 
2.52.0

Reply via email to