From: Andy Duan Date: Mon, 10 Apr 2017 11:44:35 +0000 (+0800) Subject: net: fec_mxc: specify the registered eth index by dev_id X-Git-Tag: v2017.07-rc1~248^2~40 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=979a58936bc2b0108363501f9fd7e53ce2519bb0;p=u-boot net: fec_mxc: specify the registered eth index by dev_id Specify the registered eth index by dev_id. Signed-off-by: Fugang Duan Signed-off-by: Peng Fan Cc: Joe Hershberger --- diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index d67a69b879..08bea8b052 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1023,6 +1023,7 @@ static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, struct eth_device *edev; struct fec_priv *fec; unsigned char ethaddr[6]; + char mac[16]; uint32_t start; int ret = 0; @@ -1085,12 +1086,18 @@ static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, fec->phy_id = phy_id; #endif eth_register(edev); + /* only support one eth device, the index number pointed by dev_id */ + edev->index = fec->dev_id; if (fec_get_hwaddr(fec->dev_id, ethaddr) == 0) { debug("got MAC%d address from fuse: %pM\n", fec->dev_id, ethaddr); memcpy(edev->enetaddr, ethaddr, 6); - if (!getenv("ethaddr")) - eth_setenv_enetaddr("ethaddr", ethaddr); + if (fec->dev_id) + sprintf(mac, "eth%daddr", fec->dev_id); + else + strcpy(mac, "ethaddr"); + if (!getenv(mac)) + eth_setenv_enetaddr(mac, ethaddr); } return ret; err4: