From: Gabor Juhos Date: Sun, 18 Mar 2012 22:06:12 +0000 (+0000) Subject: generic: ar8216: add a separate structure for chip specific stuff X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=b3f0462e8ec412dfc54283533d6d122ee511f065 generic: ar8216: add a separate structure for chip specific stuff Also add a hw_init function into that. SVN-Revision: 30997 --- diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 13a874e411..038a086bd9 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -36,6 +36,9 @@ #define AR8X16_MAX_VLANS 128 #define AR8X16_PROBE_RETRIES 10 +struct ar8xxx_chip { +}; + struct ar8216_priv { struct switch_dev dev; struct phy_device *phy; @@ -45,6 +48,7 @@ struct ar8216_priv { struct net_device_ops ndo; struct mutex reg_mutex; int chip_type; + const struct ar8xxx_chip *chip; bool initialized; bool port4_phy; char buf[80]; @@ -736,6 +740,15 @@ ar8216_init_port(struct ar8216_priv *priv, int port) } } +static const struct ar8xxx_chip ar8216_chip = { +}; + +static const struct ar8xxx_chip ar8236_chip = { +}; + +static const struct ar8xxx_chip ar8316_chip = { +}; + static int ar8216_reset_switch(struct switch_dev *dev) { @@ -810,13 +823,16 @@ ar8216_id_chip(struct ar8216_priv *priv) switch (id) { case 0x0101: priv->chip_type = AR8216; + priv->chip = &ar8216_chip; break; case 0x0301: priv->chip_type = AR8236; + priv->chip = &ar8236_chip; break; case 0x1000: case 0x1001: priv->chip_type = AR8316; + priv->chip = &ar8316_chip; break; default: printk(KERN_DEBUG