generic: rtl8366: move switch device to the rtl8366_smi struct
[openwrt/staging/dedeckeh.git] / target / linux / generic / files / drivers / net / phy / rtl8366s.c
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)