summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-12-01 16:14:32 +0000
committerJohn Crispin <john@openwrt.org>2014-12-01 16:14:32 +0000
commitaf003867b195e1d640918a4391741b235435fd9a (patch)
tree8629c261ad72344a851958e97a425c2d0ece1c77 /target
parent84df2274ffe8c4f8400ebac33f34aac8b74b789c (diff)
downloadmaster-31e0f0ae-af003867b195e1d640918a4391741b235435fd9a.tar.gz
master-31e0f0ae-af003867b195e1d640918a4391741b235435fd9a.tar.bz2
master-31e0f0ae-af003867b195e1d640918a4391741b235435fd9a.zip
ar8216: factor out info whether switch should be configured at probe stage to ar8xxx_chip
Factor out info whether switch should be configured at probe stage to ar8xxx_chip. Remove related chip_is_... checks. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43466
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8216.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index a4e2260e45..028b98fc40 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -70,6 +70,7 @@ struct ar8xxx_mib_desc {
struct ar8xxx_chip {
unsigned long caps;
+ bool config_at_probe;
int (*hw_init)(struct ar8xxx_priv *priv);
void (*cleanup)(struct ar8xxx_priv *priv);
@@ -1821,6 +1822,7 @@ ar8327_setup_port(struct ar8xxx_priv *priv, int port, u32 members)
static const struct ar8xxx_chip ar8327_chip = {
.caps = AR8XXX_CAP_GIGE | AR8XXX_CAP_MIB_COUNTERS,
+ .config_at_probe = true,
.hw_init = ar8327_hw_init,
.cleanup = ar8327_cleanup,
.init_globals = ar8327_init_globals,
@@ -2797,7 +2799,7 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
if (WARN_ON(!priv))
return -ENODEV;
- if (chip_is_ar8327(priv) || chip_is_ar8337(priv))
+ if (priv->chip->config_at_probe)
return ar8xxx_phy_check_aneg(phydev);
priv->phy = phydev;
@@ -2973,7 +2975,7 @@ found:
phydev->advertising = ADVERTISED_100baseT_Full;
}
- if (chip_is_ar8327(priv) || chip_is_ar8337(priv)) {
+ if (priv->chip->config_at_probe) {
priv->phy = phydev;
ret = ar8xxx_start(priv);