generic: ar8216: add ar8xxx_start helper
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 15 Mar 2013 16:06:25 +0000 (16:06 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 15 Mar 2013 16:06:25 +0000 (16:06 +0000)
Move switch starting code into a separate function.
This makes it usable from other places.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36049 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/files/drivers/net/phy/ar8216.c

index 9889698..f1b7436 100644 (file)
@@ -1914,6 +1914,28 @@ ar8xxx_probe_switch(struct ar8xxx_priv *priv)
 }
 
 static int
+ar8xxx_start(struct ar8xxx_priv *priv)
+{
+       int ret;
+
+       priv->init = true;
+
+       ret = priv->chip->hw_init(priv);
+       if (ret)
+               return ret;
+
+       ret = ar8xxx_sw_reset_switch(&priv->dev);
+       if (ret)
+               return ret;
+
+       priv->init = false;
+
+       ar8xxx_mib_start(priv);
+
+       return 0;
+}
+
+static int
 ar8xxx_phy_config_init(struct phy_device *phydev)
 {
        struct ar8xxx_priv *priv = phydev->priv;
@@ -1938,13 +1960,7 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
                return 0;
        }
 
-       priv->init = true;
-
-       ret = priv->chip->hw_init(priv);
-       if (ret)
-               return ret;
-
-       ret = ar8xxx_sw_reset_switch(&priv->dev);
+       ret = ar8xxx_start(priv);
        if (ret)
                return ret;
 
@@ -1956,10 +1972,6 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
                dev->eth_mangle_tx = ar8216_mangle_tx;
        }
 
-       priv->init = false;
-
-       ar8xxx_mib_start(priv);
-
        return 0;
 }