]> git.sur5r.net Git - u-boot/commitdiff
dm: net: fec: Add .read_rom_hwaddr
authorJagan Teki <jagan@amarulasolutions.com>
Mon, 5 Dec 2016 23:00:51 +0000 (00:00 +0100)
committerStefano Babic <sbabic@denx.de>
Fri, 16 Dec 2016 16:15:27 +0000 (17:15 +0100)
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

index 2c4be961a8b9731af638e2894741119ffed4e296..3304fddc696ffca174477bd7f1f4859a8e8af2d0 100644 (file)
@@ -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: