eth_get_dev_by_index() is an API which is not available in driver
model. Use eth_get_dev_by_name() instead, which can also simplifly
the code logic a little bit.

Signed-off-by: Bin Meng <bmeng...@gmail.com>
---

 arch/arm/cpu/armv7/ls102xa/fdt.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c
index 856abed..ae5e794 100644
--- a/arch/arm/cpu/armv7/ls102xa/fdt.c
+++ b/arch/arm/cpu/armv7/ls102xa/fdt.c
@@ -30,17 +30,13 @@ void ft_fixup_enet_phy_connect_type(void *fdt)
        int phy_node;
        int i = 0;
        uint32_t ph;
+       char *name[3] = { "eTSEC1", "eTSEC2", "eTSEC3" };
 
-       while ((dev = eth_get_dev_by_index(i++)) != NULL) {
-               if (strstr(dev->name, "eTSEC1")) {
-                       strcpy(enet, "ethernet0");
-                       strcpy(phy, "enet0_rgmii_phy");
-               } else if (strstr(dev->name, "eTSEC2")) {
-                       strcpy(enet, "ethernet1");
-                       strcpy(phy, "enet1_rgmii_phy");
-               } else if (strstr(dev->name, "eTSEC3")) {
-                       strcpy(enet, "ethernet2");
-                       strcpy(phy, "enet2_rgmii_phy");
+       for (; i < ARRAY_SIZE(name); i++) {
+               dev = eth_get_dev_by_name(name[i]);
+               if (dev) {
+                       sprintf(enet, "ethernet%d", i);
+                       sprintf(phy, "enet%d_rgmii_phy", i);
                } else {
                        continue;
                }
-- 
1.8.2.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to