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>
This commit is contained in:
Jagan Teki 2016-12-06 00:00:51 +01:00 committed by Stefano Babic
parent 567173a610
commit 1ed2570f7e
1 changed files with 9 additions and 9 deletions

View File

@ -1165,12 +1165,21 @@ int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int))
#else #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 = { static const struct eth_ops fecmxc_ops = {
.start = fecmxc_init, .start = fecmxc_init,
.send = fecmxc_send, .send = fecmxc_send,
.recv = fecmxc_recv, .recv = fecmxc_recv,
.stop = fecmxc_halt, .stop = fecmxc_halt,
.write_hwaddr = fecmxc_set_hwaddr, .write_hwaddr = fecmxc_set_hwaddr,
.read_rom_hwaddr = fecmxc_read_rom_hwaddr,
}; };
static int fec_phy_init(struct fec_priv *priv, struct udevice *dev) 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 fec_priv *priv = dev_get_priv(dev);
struct mii_dev *bus = NULL; struct mii_dev *bus = NULL;
int dev_id = -1; int dev_id = -1;
unsigned char ethaddr[6];
uint32_t start; uint32_t start;
int ret; int ret;
@ -1235,14 +1243,6 @@ static int fecmxc_probe(struct udevice *dev)
fec_set_dev_name((char *)dev->name, dev_id); fec_set_dev_name((char *)dev->name, dev_id);
priv->dev_id = (dev_id == -1) ? 0 : 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; return 0;
err_timeout: err_timeout: