generic: rtl8366: move switch device to the rtl8366_smi struct
authorGabor Juhos <juhosg@openwrt.org>
Thu, 15 Jul 2010 13:05:06 +0000 (13:05 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Thu, 15 Jul 2010 13:05:06 +0000 (13:05 +0000)
SVN-Revision: 22193

target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
target/linux/generic/files/drivers/net/phy/rtl8366rb.c
target/linux/generic/files/drivers/net/phy/rtl8366s.c

index 3b639f2b691fd8268a187ca06b68a765e02d09cc..bd16cbe55e561db51615953ac7cd5af2da2e2fc0 100644 (file)
@@ -12,6 +12,7 @@
 #define _RTL8366_SMI_H
 
 #include <linux/phy.h>
+#include <linux/switch.h>
 
 struct rtl8366_smi_ops;
 struct rtl8366_vlan_ops;
@@ -34,6 +35,7 @@ struct rtl8366_smi {
        spinlock_t              lock;
        struct mii_bus          *mii_bus;
        int                     mii_irq[PHY_MAX_ADDR];
+       struct switch_dev       sw_dev;
 
        unsigned int            cpu_port;
        unsigned int            num_ports;
@@ -101,4 +103,9 @@ int rtl8366_set_pvid(struct rtl8366_smi *smi, unsigned port, unsigned vid);
 int rtl8366_debugfs_open(struct inode *inode, struct file *file);
 #endif
 
+static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw)
+{
+       return container_of(sw, struct rtl8366_smi, sw_dev);
+}
+
 #endif /*  _RTL8366_SMI_H */
index f23ec2152ab2048de13fafa74582730470024ee7..6dbed040560c8d50defe14b22f6d57eaf3257765 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/platform_device.h>
 #include <linux/delay.h>
 #include <linux/skbuff.h>
-#include <linux/switch.h>
 #include <linux/rtl8366rb.h>
 
 #include "rtl8366_smi.h"
 struct rtl8366rb {
        struct device           *parent;
        struct rtl8366_smi      smi;
-       struct switch_dev       dev;
 };
 
 static struct rtl8366_mib_counter rtl8366rb_mib_counters[] = {
@@ -227,13 +225,8 @@ static inline struct rtl8366rb *smi_to_rtl8366rb(struct rtl8366_smi *smi)
 
 static inline struct rtl8366rb *sw_to_rtl8366rb(struct switch_dev *sw)
 {
-       return container_of(sw, struct rtl8366rb, dev);
-}
-
-static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw)
-{
-       struct rtl8366rb *rtl = sw_to_rtl8366rb(sw);
-       return &rtl->smi;
+       struct rtl8366_smi *smi = sw_to_rtl8366_smi(sw);
+       return smi_to_rtl8366rb(smi);
 }
 
 static int rtl8366rb_reset_chip(struct rtl8366_smi *smi)
@@ -1028,7 +1021,7 @@ static struct switch_dev rtl8366_switch_dev = {
 
 static int rtl8366rb_switch_init(struct rtl8366rb *rtl)
 {
-       struct switch_dev *dev = &rtl->dev;
+       struct switch_dev *dev = &rtl->smi.sw_dev;
        int err;
 
        memcpy(dev, &rtl8366_switch_dev, sizeof(struct switch_dev));
@@ -1044,7 +1037,7 @@ static int rtl8366rb_switch_init(struct rtl8366rb *rtl)
 
 static void rtl8366rb_switch_cleanup(struct rtl8366rb *rtl)
 {
-       unregister_switch(&rtl->dev);
+       unregister_switch(&rtl->smi.sw_dev);
 }
 
 static int rtl8366rb_mii_read(struct mii_bus *bus, int addr, int reg)
index 4936ceadff33d14b914204d1478139eb6e15b886..0d1291ad6e49ae40a12412dc564e0b25ca5a1710 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/platform_device.h>
 #include <linux/delay.h>
 #include <linux/skbuff.h>
-#include <linux/switch.h>
 #include <linux/rtl8366s.h>
 
 #include "rtl8366_smi.h"
 struct rtl8366s {
        struct device           *parent;
        struct rtl8366_smi      smi;
-       struct switch_dev       dev;
 };
 
 static struct rtl8366_mib_counter rtl8366s_mib_counters[] = {
@@ -238,13 +236,8 @@ static inline struct rtl8366s *smi_to_rtl8366s(struct rtl8366_smi *smi)
 
 static inline struct rtl8366s *sw_to_rtl8366s(struct switch_dev *sw)
 {
-       return container_of(sw, struct rtl8366s, dev);
-}
-
-static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw)
-{
-       struct rtl8366s *rtl = sw_to_rtl8366s(sw);
-       return &rtl->smi;
+       struct rtl8366_smi *smi = sw_to_rtl8366_smi(sw);
+       return smi_to_rtl8366s(smi);
 }
 
 static int rtl8366s_reset_chip(struct rtl8366_smi *smi)
@@ -1055,7 +1048,7 @@ static struct switch_dev rtl8366_switch_dev = {
 
 static int rtl8366s_switch_init(struct rtl8366s *rtl)
 {
-       struct switch_dev *dev = &rtl->dev;
+       struct switch_dev *dev = &rtl->smi.sw_dev;
        int err;
 
        memcpy(dev, &rtl8366_switch_dev, sizeof(struct switch_dev));
@@ -1071,7 +1064,7 @@ static int rtl8366s_switch_init(struct rtl8366s *rtl)
 
 static void rtl8366s_switch_cleanup(struct rtl8366s *rtl)
 {
-       unregister_switch(&rtl->dev);
+       unregister_switch(&rtl->smi.sw_dev);
 }
 
 static int rtl8366s_mii_read(struct mii_bus *bus, int addr, int reg)