[U-Boot] [PATCH 15/17] arm: ls102xa: Rewrite the logic of ft_fixup_enet_phy_connect_type()

Bin Meng bmeng.cn at gmail.com
Tue Jan 12 07:41:26 CET 2016


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.cn at 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



More information about the U-Boot mailing list