generic: ar8216: simplify and rename ar8327_config_port
authorGabor Juhos <juhosg@openwrt.org>
Fri, 15 Mar 2013 15:49:57 +0000 (15:49 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 15 Mar 2013 15:49:57 +0000 (15:49 +0000)
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.

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

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

index 7cb5186..6454b2b 100644 (file)
@@ -1086,17 +1086,13 @@ ar8327_init_globals(struct ar8xxx_priv *priv)
                       AR8327_MODULE_EN_MIB);
 }
 
                       AR8327_MODULE_EN_MIB);
 }
 
-static void
-ar8327_config_port(struct ar8xxx_priv *priv, unsigned int port,
-                   struct ar8327_port_cfg *cfg)
+static u32
+ar8327_get_port_init_status(struct ar8327_port_cfg *cfg)
 {
        u32 t;
 
 {
        u32 t;
 
-       if (!cfg || !cfg->force_link) {
-               priv->write(priv, AR8327_REG_PORT_STATUS(port),
-                           AR8216_PORT_STATUS_LINK_AUTO);
-               return;
-       }
+       if (!cfg->force_link)
+               return AR8216_PORT_STATUS_LINK_AUTO;
 
        t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
        t |= cfg->duplex ? AR8216_PORT_STATUS_DUPLEX : 0;
 
        t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
        t |= cfg->duplex ? AR8216_PORT_STATUS_DUPLEX : 0;
@@ -1115,27 +1111,25 @@ ar8327_config_port(struct ar8xxx_priv *priv, unsigned int port,
                break;
        }
 
                break;
        }
 
-       priv->write(priv, AR8327_REG_PORT_STATUS(port), t);
+       return t;
 }
 
 static void
 ar8327_init_port(struct ar8xxx_priv *priv, int port)
 {
        struct ar8327_platform_data *pdata;
 }
 
 static void
 ar8327_init_port(struct ar8xxx_priv *priv, int port)
 {
        struct ar8327_platform_data *pdata;
-       struct ar8327_port_cfg *cfg;
        u32 t;
 
        pdata = priv->phy->dev.platform_data;
 
        if (port == AR8216_PORT_CPU)
        u32 t;
 
        pdata = priv->phy->dev.platform_data;
 
        if (port == AR8216_PORT_CPU)
-               cfg = &pdata->port0_cfg;
+               t = ar8327_get_port_init_status(&pdata->port0_cfg);
        else if (port == 6)
        else if (port == 6)
-               cfg = &pdata->port6_cfg;
+               t = ar8327_get_port_init_status(&pdata->port6_cfg);
        else
        else
-               cfg = NULL;
-
-       ar8327_config_port(priv, port, cfg);
+               t = AR8216_PORT_STATUS_LINK_AUTO;
 
 
+       priv->write(priv, AR8327_REG_PORT_STATUS(port), t);
        priv->write(priv, AR8327_REG_PORT_HEADER(port), 0);
 
        t = 1 << AR8327_PORT_VLAN0_DEF_SVID_S;
        priv->write(priv, AR8327_REG_PORT_HEADER(port), 0);
 
        t = 1 << AR8327_PORT_VLAN0_DEF_SVID_S;