generic: rtl8366: move switch device to the rtl8366_smi struct
SVN-Revision: 22193
This commit is contained in:
		| @@ -12,6 +12,7 @@ | |||||||
| #define _RTL8366_SMI_H | #define _RTL8366_SMI_H | ||||||
|  |  | ||||||
| #include <linux/phy.h> | #include <linux/phy.h> | ||||||
|  | #include <linux/switch.h> | ||||||
|  |  | ||||||
| struct rtl8366_smi_ops; | struct rtl8366_smi_ops; | ||||||
| struct rtl8366_vlan_ops; | struct rtl8366_vlan_ops; | ||||||
| @@ -34,6 +35,7 @@ struct rtl8366_smi { | |||||||
| 	spinlock_t		lock; | 	spinlock_t		lock; | ||||||
| 	struct mii_bus		*mii_bus; | 	struct mii_bus		*mii_bus; | ||||||
| 	int			mii_irq[PHY_MAX_ADDR]; | 	int			mii_irq[PHY_MAX_ADDR]; | ||||||
|  | 	struct switch_dev	sw_dev; | ||||||
|  |  | ||||||
| 	unsigned int		cpu_port; | 	unsigned int		cpu_port; | ||||||
| 	unsigned int		num_ports; | 	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); | int rtl8366_debugfs_open(struct inode *inode, struct file *file); | ||||||
| #endif | #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 */ | #endif /*  _RTL8366_SMI_H */ | ||||||
|   | |||||||
| @@ -15,7 +15,6 @@ | |||||||
| #include <linux/platform_device.h> | #include <linux/platform_device.h> | ||||||
| #include <linux/delay.h> | #include <linux/delay.h> | ||||||
| #include <linux/skbuff.h> | #include <linux/skbuff.h> | ||||||
| #include <linux/switch.h> |  | ||||||
| #include <linux/rtl8366rb.h> | #include <linux/rtl8366rb.h> | ||||||
|  |  | ||||||
| #include "rtl8366_smi.h" | #include "rtl8366_smi.h" | ||||||
| @@ -167,7 +166,6 @@ | |||||||
| struct rtl8366rb { | struct rtl8366rb { | ||||||
| 	struct device		*parent; | 	struct device		*parent; | ||||||
| 	struct rtl8366_smi	smi; | 	struct rtl8366_smi	smi; | ||||||
| 	struct switch_dev	dev; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static struct rtl8366_mib_counter rtl8366rb_mib_counters[] = { | 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) | static inline struct rtl8366rb *sw_to_rtl8366rb(struct switch_dev *sw) | ||||||
| { | { | ||||||
| 	return container_of(sw, struct rtl8366rb, dev); | 	struct rtl8366_smi *smi = sw_to_rtl8366_smi(sw); | ||||||
| } | 	return smi_to_rtl8366rb(smi); | ||||||
|  |  | ||||||
| static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw) |  | ||||||
| { |  | ||||||
| 	struct rtl8366rb *rtl = sw_to_rtl8366rb(sw); |  | ||||||
| 	return &rtl->smi; |  | ||||||
| } | } | ||||||
|  |  | ||||||
| static int rtl8366rb_reset_chip(struct rtl8366_smi *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) | static int rtl8366rb_switch_init(struct rtl8366rb *rtl) | ||||||
| { | { | ||||||
| 	struct switch_dev *dev = &rtl->dev; | 	struct switch_dev *dev = &rtl->smi.sw_dev; | ||||||
| 	int err; | 	int err; | ||||||
|  |  | ||||||
| 	memcpy(dev, &rtl8366_switch_dev, sizeof(struct switch_dev)); | 	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) | 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) | static int rtl8366rb_mii_read(struct mii_bus *bus, int addr, int reg) | ||||||
|   | |||||||
| @@ -15,7 +15,6 @@ | |||||||
| #include <linux/platform_device.h> | #include <linux/platform_device.h> | ||||||
| #include <linux/delay.h> | #include <linux/delay.h> | ||||||
| #include <linux/skbuff.h> | #include <linux/skbuff.h> | ||||||
| #include <linux/switch.h> |  | ||||||
| #include <linux/rtl8366s.h> | #include <linux/rtl8366s.h> | ||||||
|  |  | ||||||
| #include "rtl8366_smi.h" | #include "rtl8366_smi.h" | ||||||
| @@ -173,7 +172,6 @@ | |||||||
| struct rtl8366s { | struct rtl8366s { | ||||||
| 	struct device		*parent; | 	struct device		*parent; | ||||||
| 	struct rtl8366_smi	smi; | 	struct rtl8366_smi	smi; | ||||||
| 	struct switch_dev	dev; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static struct rtl8366_mib_counter rtl8366s_mib_counters[] = { | 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) | static inline struct rtl8366s *sw_to_rtl8366s(struct switch_dev *sw) | ||||||
| { | { | ||||||
| 	return container_of(sw, struct rtl8366s, dev); | 	struct rtl8366_smi *smi = sw_to_rtl8366_smi(sw); | ||||||
| } | 	return smi_to_rtl8366s(smi); | ||||||
|  |  | ||||||
| static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw) |  | ||||||
| { |  | ||||||
| 	struct rtl8366s *rtl = sw_to_rtl8366s(sw); |  | ||||||
| 	return &rtl->smi; |  | ||||||
| } | } | ||||||
|  |  | ||||||
| static int rtl8366s_reset_chip(struct rtl8366_smi *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) | static int rtl8366s_switch_init(struct rtl8366s *rtl) | ||||||
| { | { | ||||||
| 	struct switch_dev *dev = &rtl->dev; | 	struct switch_dev *dev = &rtl->smi.sw_dev; | ||||||
| 	int err; | 	int err; | ||||||
|  |  | ||||||
| 	memcpy(dev, &rtl8366_switch_dev, sizeof(struct switch_dev)); | 	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) | 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) | static int rtl8366s_mii_read(struct mii_bus *bus, int addr, int reg) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos