From 1ed2570f7eebd78b6ee698fa327a0d92a478d0bc Mon Sep 17 00:00:00 2001
From: Jagan Teki <jagan@amarulasolutions.com>
Date: Tue, 6 Dec 2016 00:00:51 +0100
Subject: [PATCH] dm: net: fec: Add .read_rom_hwaddr

Add .read_rom_hwaddr on dm eth_ops.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
 drivers/net/fec_mxc.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 2c4be961a8b..3304fddc696 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1165,12 +1165,21 @@ int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int))
 
 #else
 
+static int fecmxc_read_rom_hwaddr(struct udevice *dev)
+{
+	struct fec_priv *priv = dev_get_priv(dev);
+	struct eth_pdata *pdata = dev_get_platdata(dev);
+
+	return fec_get_hwaddr(priv->dev_id, pdata->enetaddr);
+}
+
 static const struct eth_ops fecmxc_ops = {
 	.start			= fecmxc_init,
 	.send			= fecmxc_send,
 	.recv			= fecmxc_recv,
 	.stop			= fecmxc_halt,
 	.write_hwaddr		= fecmxc_set_hwaddr,
+	.read_rom_hwaddr	= fecmxc_read_rom_hwaddr,
 };
 
 static int fec_phy_init(struct fec_priv *priv, struct udevice *dev)
@@ -1200,7 +1209,6 @@ static int fecmxc_probe(struct udevice *dev)
 	struct fec_priv *priv = dev_get_priv(dev);
 	struct mii_dev *bus = NULL;
 	int dev_id = -1;
-	unsigned char ethaddr[6];
 	uint32_t start;
 	int ret;
 
@@ -1235,14 +1243,6 @@ static int fecmxc_probe(struct udevice *dev)
 	fec_set_dev_name((char *)dev->name, dev_id);
 	priv->dev_id = (dev_id == -1) ? 0 : dev_id;
 
-	ret = fec_get_hwaddr(dev_id, ethaddr);
-	if (!ret) {
-		debug("got MAC%d address from fuse: %pM\n", dev_id, ethaddr);
-		memcpy(pdata->enetaddr, ethaddr, 6);
-		if (!getenv("ethaddr"))
-			eth_setenv_enetaddr("ethaddr", ethaddr);
-	}
-
 	return 0;
 
 err_timeout:
-- 
GitLab