[U-Boot] [PATCH 3/3] net: fec_mxc: specify the registered eth index by dev_id
Stefano Babic
sbabic at denx.de
Wed Apr 12 16:22:58 UTC 2017
On 10/04/2017 13:44, Peng Fan wrote:
> From: Andy Duan <fugang.duan at nxp.com>
>
> Specify the registered eth index by dev_id.
>
> Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> Cc: Joe Hershberger <joe.hershberger at ni.com>
> ---
> drivers/net/fec_mxc.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index d67a69b..08bea8b 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:
>
Reviewed-by : Stefano Babic <sbabic at denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list