generic: rtl8366: move switch device to the rtl8366_smi struct

SVN-Revision: 22193
lede-17.01
Gabor Juhos 2010-07-15 13:05:06 +00:00
parent 5508b23aaf
commit 008c81b859
3 changed files with 15 additions and 22 deletions

View 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 */

View 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"
@ -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)

View 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"
@ -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)