From 17d735fc466b1ed9a3ae237da248cdb03ad396d1 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Fri, 15 Mar 2013 15:49:57 +0000
Subject: [PATCH] generic: ar8216: simplify and rename ar8327_config_port

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
---
 .../generic/files/drivers/net/phy/ar8216.c    | 24 +++++++------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 7cb5186f34..6454b2b217 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -1086,17 +1086,13 @@ ar8327_init_globals(struct ar8xxx_priv *priv)
 		       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;
 
-	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;
@@ -1115,27 +1111,25 @@ ar8327_config_port(struct ar8xxx_priv *priv, unsigned int port,
 		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;
-	struct ar8327_port_cfg *cfg;
 	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)
-		cfg = &pdata->port6_cfg;
+		t = ar8327_get_port_init_status(&pdata->port6_cfg);
 	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;
-- 
2.30.2