generic: ar8216: add a separate structure for chip specific stuff
authorGabor Juhos <juhosg@openwrt.org>
Sun, 18 Mar 2012 22:06:12 +0000 (22:06 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 18 Mar 2012 22:06:12 +0000 (22:06 +0000)
Also add a hw_init function into that.

SVN-Revision: 30997

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

index 13a874e411aebf9294feb32fe5e9e8f67287f532..038a086bd94a96788a8801d2b2e19e84bd99ed3d 100644 (file)
@@ -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