generic: ar8216: separate platform_data based AR8327 code
authorGabor Juhos <juhosg@openwrt.org>
Fri, 15 Mar 2013 15:50:05 +0000 (15:50 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 15 Mar 2013 15:50:05 +0000 (15:50 +0000)
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.

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

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

index 74fecd6f854cde6ba119ff16e3733d0e38c67029..d4ef7bd195af67b3f5d7cb2158995cd51b84eb5d 100644 (file)
@@ -1039,17 +1039,14 @@ ar8327_get_port_init_status(struct ar8327_port_cfg *cfg)
 }
 
 static int
-ar8327_hw_init(struct ar8xxx_priv *priv)
+ar8327_hw_config_pdata(struct ar8xxx_priv *priv,
+                      struct ar8327_platform_data *pdata)
 {
-       struct ar8327_platform_data *pdata;
        struct ar8327_led_cfg *led_cfg;
        struct ar8327_data *data;
-       struct mii_bus *bus;
        u32 pos, new_pos;
        u32 t;
-       int i;
 
-       pdata = priv->phy->dev.platform_data;
        if (!pdata)
                return -EINVAL;
 
@@ -1086,6 +1083,20 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
                priv->write(priv, AR8327_REG_POWER_ON_STRIP, new_pos);
        }
 
+       return 0;
+}
+
+static int
+ar8327_hw_init(struct ar8xxx_priv *priv)
+{
+       struct mii_bus *bus;
+       int ret;
+       int i;
+
+       ret = ar8327_hw_config_pdata(priv, priv->phy->dev.platform_data);
+       if (ret)
+               return ret;
+
        bus = priv->mii_bus;
        for (i = 0; i < AR8327_NUM_PHYS; i++) {
                ar8327_phy_fixup(priv, i);