mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
generic: ar8216: add a separate structure for chip specific stuff
Also add a hw_init function into that. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30997 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -36,6 +36,9 @@
|
|||||||
#define AR8X16_MAX_VLANS 128
|
#define AR8X16_MAX_VLANS 128
|
||||||
#define AR8X16_PROBE_RETRIES 10
|
#define AR8X16_PROBE_RETRIES 10
|
||||||
|
|
||||||
|
struct ar8xxx_chip {
|
||||||
|
};
|
||||||
|
|
||||||
struct ar8216_priv {
|
struct ar8216_priv {
|
||||||
struct switch_dev dev;
|
struct switch_dev dev;
|
||||||
struct phy_device *phy;
|
struct phy_device *phy;
|
||||||
@@ -45,6 +48,7 @@ struct ar8216_priv {
|
|||||||
struct net_device_ops ndo;
|
struct net_device_ops ndo;
|
||||||
struct mutex reg_mutex;
|
struct mutex reg_mutex;
|
||||||
int chip_type;
|
int chip_type;
|
||||||
|
const struct ar8xxx_chip *chip;
|
||||||
bool initialized;
|
bool initialized;
|
||||||
bool port4_phy;
|
bool port4_phy;
|
||||||
char buf[80];
|
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
|
static int
|
||||||
ar8216_reset_switch(struct switch_dev *dev)
|
ar8216_reset_switch(struct switch_dev *dev)
|
||||||
{
|
{
|
||||||
@@ -810,13 +823,16 @@ ar8216_id_chip(struct ar8216_priv *priv)
|
|||||||
switch (id) {
|
switch (id) {
|
||||||
case 0x0101:
|
case 0x0101:
|
||||||
priv->chip_type = AR8216;
|
priv->chip_type = AR8216;
|
||||||
|
priv->chip = &ar8216_chip;
|
||||||
break;
|
break;
|
||||||
case 0x0301:
|
case 0x0301:
|
||||||
priv->chip_type = AR8236;
|
priv->chip_type = AR8236;
|
||||||
|
priv->chip = &ar8236_chip;
|
||||||
break;
|
break;
|
||||||
case 0x1000:
|
case 0x1000:
|
||||||
case 0x1001:
|
case 0x1001:
|
||||||
priv->chip_type = AR8316;
|
priv->chip_type = AR8316;
|
||||||
|
priv->chip = &ar8316_chip;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk(KERN_DEBUG
|
printk(KERN_DEBUG
|
||||||
|
|||||||
Reference in New Issue
Block a user