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
This commit is contained in:
parent
44ce8dac88
commit
5503686f69
1 changed files with 23 additions and 11 deletions
|
@ -1913,6 +1913,28 @@ ar8xxx_probe_switch(struct ar8xxx_priv *priv)
|
||||||
return 0;
|
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
|
static int
|
||||||
ar8xxx_phy_config_init(struct phy_device *phydev)
|
ar8xxx_phy_config_init(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
|
@ -1938,13 +1960,7 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->init = true;
|
ret = ar8xxx_start(priv);
|
||||||
|
|
||||||
ret = priv->chip->hw_init(priv);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = ar8xxx_sw_reset_switch(&priv->dev);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -1956,10 +1972,6 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
|
||||||
dev->eth_mangle_tx = ar8216_mangle_tx;
|
dev->eth_mangle_tx = ar8216_mangle_tx;
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->init = false;
|
|
||||||
|
|
||||||
ar8xxx_mib_start(priv);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue