summaryrefslogtreecommitdiff
path: root/target/linux/generic
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366_smi.h7
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366rb.c15
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366s.c15
3 files changed, 15 insertions, 22 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
index 3b639f2..bd16cbe 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
@@ -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 */
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
index f23ec21..6dbed04 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
@@ -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"
@@ -167,7 +166,6 @@
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)
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
index 4936cea..0d1291a 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366s.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
@@ -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"
@@ -173,7 +172,6 @@
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)