From: Gabor Juhos Date: Fri, 15 Mar 2013 16:06:25 +0000 (+0000) Subject: generic: ar8216: add ar8xxx_start helper X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5503686f69810dd42993cf339f98a6bfa4752581;p=openwrt%2Fstaging%2Fthess.git 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 SVN-Revision: 36049 --- 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; }