Subject: [PATCH 1/6] restructure of_phy_register_fixed_link() for further modifications

From: Stas Sergeev <[email-masked]>
Date: Thu, 26 Mar 2015 18:58:41 +0300

-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
Signed-off-by: Stas Sergeev <[email-masked]>
---
 drivers/of/of_mdio.c |   32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c
index 1bd4305..b3dc1e6 100644
--- a/drivers/of/of_mdio.c
+++ b/drivers/of/of_mdio.c
@@ -301,22 +301,26 @@ int of_phy_register_fixed_link(struct device_node *np)
                               "asym-pause");
         of_node_put(fixed_link_node);
         phy = fixed_phy_register(PHY_POLL, &status, np);
-        return IS_ERR(phy) ? PTR_ERR(phy) : 0;
-    }
-
-    /* Old binding */
-    fixed_link_prop = of_get_property(np, "fixed-link", &len);
-    if (fixed_link_prop && len == (5 * sizeof(__be32))) {
-        status.link = 1;
-        status.duplex = be32_to_cpu(fixed_link_prop[1]);
-        status.speed = be32_to_cpu(fixed_link_prop[2]);
-        status.pause = be32_to_cpu(fixed_link_prop[3]);
-        status.asym_pause = be32_to_cpu(fixed_link_prop[4]);
-        phy = fixed_phy_register(PHY_POLL, &status, np);
-        return IS_ERR(phy) ? PTR_ERR(phy) : 0;
+        if (IS_ERR(phy))
+            return PTR_ERR(phy);
+    } else {
+        /* Old binding */
+        fixed_link_prop = of_get_property(np, "fixed-link", &len);
+        if (fixed_link_prop && len == (5 * sizeof(__be32))) {
+            status.link = 1;
+            status.duplex = be32_to_cpu(fixed_link_prop[1]);
+            status.speed = be32_to_cpu(fixed_link_prop[2]);
+            status.pause = be32_to_cpu(fixed_link_prop[3]);
+            status.asym_pause = be32_to_cpu(fixed_link_prop[4]);
+            phy = fixed_phy_register(PHY_POLL, &status, np);
+            if (IS_ERR(phy))
+                return PTR_ERR(phy);
+        } else {
+            return -ENODEV;
+        }
     }
 
-    return -ENODEV;
+    return 0;
 }
 EXPORT_SYMBOL(of_phy_register_fixed_link);
 #endif
-- 
1.7.9.5