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:
		@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user