From 5503686f69810dd42993cf339f98a6bfa4752581 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Fri, 15 Mar 2013 16:06:25 +0000
Subject: [PATCH] generic: ar8216: add ar8xxx_start helper

Move switch starting code into a separate function.
This makes it usable from other places.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36049
---
 .../generic/files/drivers/net/phy/ar8216.c    | 34 +++++++++++++------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 9889698b07..f1b7436247 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -1913,6 +1913,28 @@ ar8xxx_probe_switch(struct ar8xxx_priv *priv)
 	return 0;
 }
 
+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)
 {
@@ -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;
 }
 
-- 
2.30.2