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
This commit is contained in:
parent
3fee1bddbe
commit
17d735fc46
1 changed files with 9 additions and 15 deletions
|
@ -1086,17 +1086,13 @@ ar8327_init_globals(struct ar8xxx_priv *priv)
|
||||||
AR8327_MODULE_EN_MIB);
|
AR8327_MODULE_EN_MIB);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static u32
|
||||||
ar8327_config_port(struct ar8xxx_priv *priv, unsigned int port,
|
ar8327_get_port_init_status(struct ar8327_port_cfg *cfg)
|
||||||
struct ar8327_port_cfg *cfg)
|
|
||||||
{
|
{
|
||||||
u32 t;
|
u32 t;
|
||||||
|
|
||||||
if (!cfg || !cfg->force_link) {
|
if (!cfg->force_link)
|
||||||
priv->write(priv, AR8327_REG_PORT_STATUS(port),
|
return AR8216_PORT_STATUS_LINK_AUTO;
|
||||||
AR8216_PORT_STATUS_LINK_AUTO);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
|
t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
|
||||||
t |= cfg->duplex ? AR8216_PORT_STATUS_DUPLEX : 0;
|
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
|
static void
|
||||||
ar8327_init_port(struct ar8xxx_priv *priv, int port)
|
ar8327_init_port(struct ar8xxx_priv *priv, int port)
|
||||||
{
|
{
|
||||||
struct ar8327_platform_data *pdata;
|
struct ar8327_platform_data *pdata;
|
||||||
struct ar8327_port_cfg *cfg;
|
|
||||||
u32 t;
|
u32 t;
|
||||||
|
|
||||||
pdata = priv->phy->dev.platform_data;
|
pdata = priv->phy->dev.platform_data;
|
||||||
|
|
||||||
if (port == AR8216_PORT_CPU)
|
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;
|
t = AR8216_PORT_STATUS_LINK_AUTO;
|
||||||
|
|
||||||
ar8327_config_port(priv, port, cfg);
|
|
||||||
|
|
||||||
|
priv->write(priv, AR8327_REG_PORT_STATUS(port), t);
|
||||||
priv->write(priv, AR8327_REG_PORT_HEADER(port), 0);
|
priv->write(priv, AR8327_REG_PORT_HEADER(port), 0);
|
||||||
|
|
||||||
t = 1 << AR8327_PORT_VLAN0_DEF_SVID_S;
|
t = 1 << AR8327_PORT_VLAN0_DEF_SVID_S;
|
||||||
|
|
Loading…
Reference in a new issue