diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-03-15 15:50:00 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-03-15 15:50:00 +0000 |
commit | 9d3f70d50351b9faffe61175955c85f949213e03 (patch) | |
tree | 933bdacdce9929378256d07d17f7e1d522f59260 /target/linux/generic/files/drivers | |
parent | 17d735fc466b1ed9a3ae237da248cdb03ad396d1 (diff) | |
download | upstream-9d3f70d50351b9faffe61175955c85f949213e03.tar.gz upstream-9d3f70d50351b9faffe61175955c85f949213e03.tar.bz2 upstream-9d3f70d50351b9faffe61175955c85f949213e03.zip |
generic: ar8216: move the ar8327_get_port_init_status function
It will be used in ar8327_probe routine.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36044
Diffstat (limited to 'target/linux/generic/files/drivers')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/ar8216.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 6454b2b217..47067c9e67 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -1002,6 +1002,34 @@ ar8327_phy_fixup(struct ar8xxx_priv *priv, int phy) } } +static u32 +ar8327_get_port_init_status(struct ar8327_port_cfg *cfg) +{ + u32 t; + + 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 |= cfg->rxpause ? AR8216_PORT_STATUS_RXFLOW : 0; + t |= cfg->txpause ? AR8216_PORT_STATUS_TXFLOW : 0; + + switch (cfg->speed) { + case AR8327_PORT_SPEED_10: + t |= AR8216_PORT_SPEED_10M; + break; + case AR8327_PORT_SPEED_100: + t |= AR8216_PORT_SPEED_100M; + break; + case AR8327_PORT_SPEED_1000: + t |= AR8216_PORT_SPEED_1000M; + break; + } + + return t; +} + static int ar8327_hw_init(struct ar8xxx_priv *priv) { @@ -1086,34 +1114,6 @@ ar8327_init_globals(struct ar8xxx_priv *priv) AR8327_MODULE_EN_MIB); } -static u32 -ar8327_get_port_init_status(struct ar8327_port_cfg *cfg) -{ - u32 t; - - 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 |= cfg->rxpause ? AR8216_PORT_STATUS_RXFLOW : 0; - t |= cfg->txpause ? AR8216_PORT_STATUS_TXFLOW : 0; - - switch (cfg->speed) { - case AR8327_PORT_SPEED_10: - t |= AR8216_PORT_SPEED_10M; - break; - case AR8327_PORT_SPEED_100: - t |= AR8216_PORT_SPEED_100M; - break; - case AR8327_PORT_SPEED_1000: - t |= AR8216_PORT_SPEED_1000M; - break; - } - - return t; -} - static void ar8327_init_port(struct ar8xxx_priv *priv, int port) { |