generic: rtl8366: add common vlan_mc structure
[openwrt/svn-archive/archive.git] / target / linux / generic-2.6 / files / drivers / net / phy / rtl8366_smi.h
index e68fa9a..1f45d5d 100644 (file)
 #ifndef _RTL8366_SMI_H
 #define _RTL8366_SMI_H
 
+#include <linux/phy.h>
+
+struct rtl8366_smi_ops;
+struct mii_bus;
+
 struct rtl8366_smi {
        struct device           *parent;
        unsigned int            gpio_sda;
        unsigned int            gpio_sck;
        spinlock_t              lock;
+       struct mii_bus          *mii_bus;
+       int                     mii_irq[PHY_MAX_ADDR];
+
+       struct rtl8366_smi_ops  *ops;
+};
+
+struct rtl8366_smi_ops {
+       int     (*detect)(struct rtl8366_smi *smi);
+
+       int     (*mii_read)(struct mii_bus *bus, int addr, int reg);
+       int     (*mii_write)(struct mii_bus *bus, int addr, int reg, u16 val);
+};
+
+struct rtl8366_vlan_mc {
+       u16     vid;
+       u8      priority;
+       u8      untag;
+       u8      member;
+       u8      fid;
 };
 
 int rtl8366_smi_init(struct rtl8366_smi *smi);