From 1f6aeadc29ac036492b1b3246f5dc8c8aab1d917 Mon Sep 17 00:00:00 2001 From: juhosg Date: Fri, 15 Mar 2013 15:49:57 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36043 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/generic/files/drivers/net/phy/ar8216.c | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'target/linux/generic/files/drivers/net/phy') diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 7cb5186f3..6454b2b21 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; -- cgit v1.2.3