ar8216: factor out info whether switch should be configured at probe stage to ar8xxx_chip
authorJohn Crispin <john@openwrt.org>
Mon, 1 Dec 2014 16:14:32 +0000 (16:14 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 1 Dec 2014 16:14:32 +0000 (16:14 +0000)
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

target/linux/generic/files/drivers/net/phy/ar8216.c

index a4e2260e4536f3594020d51839fb8dad98b1f4eb..028b98fc4015d3871a2ebd7a65f330aac6039682 100644 (file)
@@ -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);