diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2011-04-18 09:32:13 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-19 15:39:45 -0400 |
commit | e01ae27f8ce6bd3ee26ef33c704f62449ce8233b (patch) | |
tree | 28c022b0e755e244e4834f741d2bfce600606624 /drivers/net/wireless/rt2x00 | |
parent | ce2919c9fffe2aa52f9c3e327176d03764dbf9b5 (diff) |
rt2x00: Allow dynamic addition of PCI/USB IDs.
Both USB and PCI drivers allow a system administrator to dynamically add
USB/PCI IDs to the device table that a driver supports via the
/sys/bus/{usb,pci,pci_express}/drivers/<driver-name>/new_id files.
However, for the rt2x00 drivers using this method currently crashes the
system with a NULL pointer failure.
This is due to the set-up of rt2x00 where the probe functions require a
rt2x00_ops structure in the driver_info field of the probed device. As
this field is empty for the dynamically added devices this fails for
these devices.
Fix this by introducing driver-specific probe wrappers that do nothing
but calling the bus-specific probe functions with the rt2x00_ops structure
as an argument, rather than depending on the driver_info field.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2400pci.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500pci.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500usb.c | 70 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800pci.c | 58 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800usb.c | 440 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00pci.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00pci.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.h | 8 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt61pci.c | 14 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 154 |
11 files changed, 404 insertions, 369 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index 01e951717f0f..d4acdde7c75a 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -1802,10 +1802,11 @@ static const struct rt2x00_ops rt2400pci_ops = { | |||
1802 | * RT2400pci module information. | 1802 | * RT2400pci module information. |
1803 | */ | 1803 | */ |
1804 | static DEFINE_PCI_DEVICE_TABLE(rt2400pci_device_table) = { | 1804 | static DEFINE_PCI_DEVICE_TABLE(rt2400pci_device_table) = { |
1805 | { PCI_DEVICE(0x1814, 0x0101), PCI_DEVICE_DATA(&rt2400pci_ops) }, | 1805 | { PCI_DEVICE(0x1814, 0x0101) }, |
1806 | { 0, } | 1806 | { 0, } |
1807 | }; | 1807 | }; |
1808 | 1808 | ||
1809 | |||
1809 | MODULE_AUTHOR(DRV_PROJECT); | 1810 | MODULE_AUTHOR(DRV_PROJECT); |
1810 | MODULE_VERSION(DRV_VERSION); | 1811 | MODULE_VERSION(DRV_VERSION); |
1811 | MODULE_DESCRIPTION("Ralink RT2400 PCI & PCMCIA Wireless LAN driver."); | 1812 | MODULE_DESCRIPTION("Ralink RT2400 PCI & PCMCIA Wireless LAN driver."); |
@@ -1813,10 +1814,16 @@ MODULE_SUPPORTED_DEVICE("Ralink RT2460 PCI & PCMCIA chipset based cards"); | |||
1813 | MODULE_DEVICE_TABLE(pci, rt2400pci_device_table); | 1814 | MODULE_DEVICE_TABLE(pci, rt2400pci_device_table); |
1814 | MODULE_LICENSE("GPL"); | 1815 | MODULE_LICENSE("GPL"); |
1815 | 1816 | ||
1817 | static int rt2400pci_probe(struct pci_dev *pci_dev, | ||
1818 | const struct pci_device_id *id) | ||
1819 | { | ||
1820 | return rt2x00pci_probe(pci_dev, &rt2400pci_ops); | ||
1821 | } | ||
1822 | |||
1816 | static struct pci_driver rt2400pci_driver = { | 1823 | static struct pci_driver rt2400pci_driver = { |
1817 | .name = KBUILD_MODNAME, | 1824 | .name = KBUILD_MODNAME, |
1818 | .id_table = rt2400pci_device_table, | 1825 | .id_table = rt2400pci_device_table, |
1819 | .probe = rt2x00pci_probe, | 1826 | .probe = rt2400pci_probe, |
1820 | .remove = __devexit_p(rt2x00pci_remove), | 1827 | .remove = __devexit_p(rt2x00pci_remove), |
1821 | .suspend = rt2x00pci_suspend, | 1828 | .suspend = rt2x00pci_suspend, |
1822 | .resume = rt2x00pci_resume, | 1829 | .resume = rt2x00pci_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index c8deeeb9d812..15f5649e2cae 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c | |||
@@ -2095,7 +2095,7 @@ static const struct rt2x00_ops rt2500pci_ops = { | |||
2095 | * RT2500pci module information. | 2095 | * RT2500pci module information. |
2096 | */ | 2096 | */ |
2097 | static DEFINE_PCI_DEVICE_TABLE(rt2500pci_device_table) = { | 2097 | static DEFINE_PCI_DEVICE_TABLE(rt2500pci_device_table) = { |
2098 | { PCI_DEVICE(0x1814, 0x0201), PCI_DEVICE_DATA(&rt2500pci_ops) }, | 2098 | { PCI_DEVICE(0x1814, 0x0201) }, |
2099 | { 0, } | 2099 | { 0, } |
2100 | }; | 2100 | }; |
2101 | 2101 | ||
@@ -2106,10 +2106,16 @@ MODULE_SUPPORTED_DEVICE("Ralink RT2560 PCI & PCMCIA chipset based cards"); | |||
2106 | MODULE_DEVICE_TABLE(pci, rt2500pci_device_table); | 2106 | MODULE_DEVICE_TABLE(pci, rt2500pci_device_table); |
2107 | MODULE_LICENSE("GPL"); | 2107 | MODULE_LICENSE("GPL"); |
2108 | 2108 | ||
2109 | static int rt2500pci_probe(struct pci_dev *pci_dev, | ||
2110 | const struct pci_device_id *id) | ||
2111 | { | ||
2112 | return rt2x00pci_probe(pci_dev, &rt2500pci_ops); | ||
2113 | } | ||
2114 | |||
2109 | static struct pci_driver rt2500pci_driver = { | 2115 | static struct pci_driver rt2500pci_driver = { |
2110 | .name = KBUILD_MODNAME, | 2116 | .name = KBUILD_MODNAME, |
2111 | .id_table = rt2500pci_device_table, | 2117 | .id_table = rt2500pci_device_table, |
2112 | .probe = rt2x00pci_probe, | 2118 | .probe = rt2500pci_probe, |
2113 | .remove = __devexit_p(rt2x00pci_remove), | 2119 | .remove = __devexit_p(rt2x00pci_remove), |
2114 | .suspend = rt2x00pci_suspend, | 2120 | .suspend = rt2x00pci_suspend, |
2115 | .resume = rt2x00pci_resume, | 2121 | .resume = rt2x00pci_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index dbbd8bc851f1..d88c36712ef0 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c | |||
@@ -1904,54 +1904,54 @@ static const struct rt2x00_ops rt2500usb_ops = { | |||
1904 | */ | 1904 | */ |
1905 | static struct usb_device_id rt2500usb_device_table[] = { | 1905 | static struct usb_device_id rt2500usb_device_table[] = { |
1906 | /* ASUS */ | 1906 | /* ASUS */ |
1907 | { USB_DEVICE(0x0b05, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1907 | { USB_DEVICE(0x0b05, 0x1706) }, |
1908 | { USB_DEVICE(0x0b05, 0x1707), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1908 | { USB_DEVICE(0x0b05, 0x1707) }, |
1909 | /* Belkin */ | 1909 | /* Belkin */ |
1910 | { USB_DEVICE(0x050d, 0x7050), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1910 | { USB_DEVICE(0x050d, 0x7050) }, |
1911 | { USB_DEVICE(0x050d, 0x7051), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1911 | { USB_DEVICE(0x050d, 0x7051) }, |
1912 | /* Cisco Systems */ | 1912 | /* Cisco Systems */ |
1913 | { USB_DEVICE(0x13b1, 0x000d), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1913 | { USB_DEVICE(0x13b1, 0x000d) }, |
1914 | { USB_DEVICE(0x13b1, 0x0011), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1914 | { USB_DEVICE(0x13b1, 0x0011) }, |
1915 | { USB_DEVICE(0x13b1, 0x001a), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1915 | { USB_DEVICE(0x13b1, 0x001a) }, |
1916 | /* Conceptronic */ | 1916 | /* Conceptronic */ |
1917 | { USB_DEVICE(0x14b2, 0x3c02), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1917 | { USB_DEVICE(0x14b2, 0x3c02) }, |
1918 | /* D-LINK */ | 1918 | /* D-LINK */ |
1919 | { USB_DEVICE(0x2001, 0x3c00), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1919 | { USB_DEVICE(0x2001, 0x3c00) }, |
1920 | /* Gigabyte */ | 1920 | /* Gigabyte */ |
1921 | { USB_DEVICE(0x1044, 0x8001), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1921 | { USB_DEVICE(0x1044, 0x8001) }, |
1922 | { USB_DEVICE(0x1044, 0x8007), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1922 | { USB_DEVICE(0x1044, 0x8007) }, |
1923 | /* Hercules */ | 1923 | /* Hercules */ |
1924 | { USB_DEVICE(0x06f8, 0xe000), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1924 | { USB_DEVICE(0x06f8, 0xe000) }, |
1925 | /* Melco */ | 1925 | /* Melco */ |
1926 | { USB_DEVICE(0x0411, 0x005e), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1926 | { USB_DEVICE(0x0411, 0x005e) }, |
1927 | { USB_DEVICE(0x0411, 0x0066), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1927 | { USB_DEVICE(0x0411, 0x0066) }, |
1928 | { USB_DEVICE(0x0411, 0x0067), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1928 | { USB_DEVICE(0x0411, 0x0067) }, |
1929 | { USB_DEVICE(0x0411, 0x008b), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1929 | { USB_DEVICE(0x0411, 0x008b) }, |
1930 | { USB_DEVICE(0x0411, 0x0097), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1930 | { USB_DEVICE(0x0411, 0x0097) }, |
1931 | /* MSI */ | 1931 | /* MSI */ |
1932 | { USB_DEVICE(0x0db0, 0x6861), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1932 | { USB_DEVICE(0x0db0, 0x6861) }, |
1933 | { USB_DEVICE(0x0db0, 0x6865), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1933 | { USB_DEVICE(0x0db0, 0x6865) }, |
1934 | { USB_DEVICE(0x0db0, 0x6869), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1934 | { USB_DEVICE(0x0db0, 0x6869) }, |
1935 | /* Ralink */ | 1935 | /* Ralink */ |
1936 | { USB_DEVICE(0x148f, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1936 | { USB_DEVICE(0x148f, 0x1706) }, |
1937 | { USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1937 | { USB_DEVICE(0x148f, 0x2570) }, |
1938 | { USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1938 | { USB_DEVICE(0x148f, 0x9020) }, |
1939 | /* Sagem */ | 1939 | /* Sagem */ |
1940 | { USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1940 | { USB_DEVICE(0x079b, 0x004b) }, |
1941 | /* Siemens */ | 1941 | /* Siemens */ |
1942 | { USB_DEVICE(0x0681, 0x3c06), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1942 | { USB_DEVICE(0x0681, 0x3c06) }, |
1943 | /* SMC */ | 1943 | /* SMC */ |
1944 | { USB_DEVICE(0x0707, 0xee13), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1944 | { USB_DEVICE(0x0707, 0xee13) }, |
1945 | /* Spairon */ | 1945 | /* Spairon */ |
1946 | { USB_DEVICE(0x114b, 0x0110), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1946 | { USB_DEVICE(0x114b, 0x0110) }, |
1947 | /* SURECOM */ | 1947 | /* SURECOM */ |
1948 | { USB_DEVICE(0x0769, 0x11f3), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1948 | { USB_DEVICE(0x0769, 0x11f3) }, |
1949 | /* Trust */ | 1949 | /* Trust */ |
1950 | { USB_DEVICE(0x0eb0, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1950 | { USB_DEVICE(0x0eb0, 0x9020) }, |
1951 | /* VTech */ | 1951 | /* VTech */ |
1952 | { USB_DEVICE(0x0f88, 0x3012), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1952 | { USB_DEVICE(0x0f88, 0x3012) }, |
1953 | /* Zinwell */ | 1953 | /* Zinwell */ |
1954 | { USB_DEVICE(0x5a57, 0x0260), USB_DEVICE_DATA(&rt2500usb_ops) }, | 1954 | { USB_DEVICE(0x5a57, 0x0260) }, |
1955 | { 0, } | 1955 | { 0, } |
1956 | }; | 1956 | }; |
1957 | 1957 | ||
@@ -1962,10 +1962,16 @@ MODULE_SUPPORTED_DEVICE("Ralink RT2570 USB chipset based cards"); | |||
1962 | MODULE_DEVICE_TABLE(usb, rt2500usb_device_table); | 1962 | MODULE_DEVICE_TABLE(usb, rt2500usb_device_table); |
1963 | MODULE_LICENSE("GPL"); | 1963 | MODULE_LICENSE("GPL"); |
1964 | 1964 | ||
1965 | static int rt2500usb_probe(struct usb_interface *usb_intf, | ||
1966 | const struct usb_device_id *id) | ||
1967 | { | ||
1968 | return rt2x00usb_probe(usb_intf, &rt2500usb_ops); | ||
1969 | } | ||
1970 | |||
1965 | static struct usb_driver rt2500usb_driver = { | 1971 | static struct usb_driver rt2500usb_driver = { |
1966 | .name = KBUILD_MODNAME, | 1972 | .name = KBUILD_MODNAME, |
1967 | .id_table = rt2500usb_device_table, | 1973 | .id_table = rt2500usb_device_table, |
1968 | .probe = rt2x00usb_probe, | 1974 | .probe = rt2500usb_probe, |
1969 | .disconnect = rt2x00usb_disconnect, | 1975 | .disconnect = rt2x00usb_disconnect, |
1970 | .suspend = rt2x00usb_suspend, | 1976 | .suspend = rt2x00usb_suspend, |
1971 | .resume = rt2x00usb_resume, | 1977 | .resume = rt2x00usb_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c index 46c3e3c83e31..6f91a9ad4d31 100644 --- a/drivers/net/wireless/rt2x00/rt2800pci.c +++ b/drivers/net/wireless/rt2x00/rt2800pci.c | |||
@@ -1117,36 +1117,36 @@ static const struct rt2x00_ops rt2800pci_ops = { | |||
1117 | */ | 1117 | */ |
1118 | #ifdef CONFIG_PCI | 1118 | #ifdef CONFIG_PCI |
1119 | static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = { | 1119 | static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = { |
1120 | { PCI_DEVICE(0x1814, 0x0601), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1120 | { PCI_DEVICE(0x1814, 0x0601) }, |
1121 | { PCI_DEVICE(0x1814, 0x0681), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1121 | { PCI_DEVICE(0x1814, 0x0681) }, |
1122 | { PCI_DEVICE(0x1814, 0x0701), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1122 | { PCI_DEVICE(0x1814, 0x0701) }, |
1123 | { PCI_DEVICE(0x1814, 0x0781), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1123 | { PCI_DEVICE(0x1814, 0x0781) }, |
1124 | { PCI_DEVICE(0x1814, 0x3090), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1124 | { PCI_DEVICE(0x1814, 0x3090) }, |
1125 | { PCI_DEVICE(0x1814, 0x3091), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1125 | { PCI_DEVICE(0x1814, 0x3091) }, |
1126 | { PCI_DEVICE(0x1814, 0x3092), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1126 | { PCI_DEVICE(0x1814, 0x3092) }, |
1127 | { PCI_DEVICE(0x1432, 0x7708), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1127 | { PCI_DEVICE(0x1432, 0x7708) }, |
1128 | { PCI_DEVICE(0x1432, 0x7727), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1128 | { PCI_DEVICE(0x1432, 0x7727) }, |
1129 | { PCI_DEVICE(0x1432, 0x7728), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1129 | { PCI_DEVICE(0x1432, 0x7728) }, |
1130 | { PCI_DEVICE(0x1432, 0x7738), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1130 | { PCI_DEVICE(0x1432, 0x7738) }, |
1131 | { PCI_DEVICE(0x1432, 0x7748), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1131 | { PCI_DEVICE(0x1432, 0x7748) }, |
1132 | { PCI_DEVICE(0x1432, 0x7758), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1132 | { PCI_DEVICE(0x1432, 0x7758) }, |
1133 | { PCI_DEVICE(0x1432, 0x7768), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1133 | { PCI_DEVICE(0x1432, 0x7768) }, |
1134 | { PCI_DEVICE(0x1462, 0x891a), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1134 | { PCI_DEVICE(0x1462, 0x891a) }, |
1135 | { PCI_DEVICE(0x1a3b, 0x1059), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1135 | { PCI_DEVICE(0x1a3b, 0x1059) }, |
1136 | #ifdef CONFIG_RT2800PCI_RT33XX | 1136 | #ifdef CONFIG_RT2800PCI_RT33XX |
1137 | { PCI_DEVICE(0x1814, 0x3390), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1137 | { PCI_DEVICE(0x1814, 0x3390) }, |
1138 | #endif | 1138 | #endif |
1139 | #ifdef CONFIG_RT2800PCI_RT35XX | 1139 | #ifdef CONFIG_RT2800PCI_RT35XX |
1140 | { PCI_DEVICE(0x1432, 0x7711), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1140 | { PCI_DEVICE(0x1432, 0x7711) }, |
1141 | { PCI_DEVICE(0x1432, 0x7722), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1141 | { PCI_DEVICE(0x1432, 0x7722) }, |
1142 | { PCI_DEVICE(0x1814, 0x3060), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1142 | { PCI_DEVICE(0x1814, 0x3060) }, |
1143 | { PCI_DEVICE(0x1814, 0x3062), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1143 | { PCI_DEVICE(0x1814, 0x3062) }, |
1144 | { PCI_DEVICE(0x1814, 0x3562), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1144 | { PCI_DEVICE(0x1814, 0x3562) }, |
1145 | { PCI_DEVICE(0x1814, 0x3592), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1145 | { PCI_DEVICE(0x1814, 0x3592) }, |
1146 | { PCI_DEVICE(0x1814, 0x3593), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1146 | { PCI_DEVICE(0x1814, 0x3593) }, |
1147 | #endif | 1147 | #endif |
1148 | #ifdef CONFIG_RT2800PCI_RT53XX | 1148 | #ifdef CONFIG_RT2800PCI_RT53XX |
1149 | { PCI_DEVICE(0x1814, 0x5390), PCI_DEVICE_DATA(&rt2800pci_ops) }, | 1149 | { PCI_DEVICE(0x1814, 0x5390) }, |
1150 | #endif | 1150 | #endif |
1151 | { 0, } | 1151 | { 0, } |
1152 | }; | 1152 | }; |
@@ -1182,10 +1182,16 @@ static struct platform_driver rt2800soc_driver = { | |||
1182 | #endif /* CONFIG_RALINK_RT288X || CONFIG_RALINK_RT305X */ | 1182 | #endif /* CONFIG_RALINK_RT288X || CONFIG_RALINK_RT305X */ |
1183 | 1183 | ||
1184 | #ifdef CONFIG_PCI | 1184 | #ifdef CONFIG_PCI |
1185 | static int rt2800pci_probe(struct pci_dev *pci_dev, | ||
1186 | const struct pci_device_id *id) | ||
1187 | { | ||
1188 | return rt2x00pci_probe(pci_dev, &rt2800pci_ops); | ||
1189 | } | ||
1190 | |||
1185 | static struct pci_driver rt2800pci_driver = { | 1191 | static struct pci_driver rt2800pci_driver = { |
1186 | .name = KBUILD_MODNAME, | 1192 | .name = KBUILD_MODNAME, |
1187 | .id_table = rt2800pci_device_table, | 1193 | .id_table = rt2800pci_device_table, |
1188 | .probe = rt2x00pci_probe, | 1194 | .probe = rt2800pci_probe, |
1189 | .remove = __devexit_p(rt2x00pci_remove), | 1195 | .remove = __devexit_p(rt2x00pci_remove), |
1190 | .suspend = rt2x00pci_suspend, | 1196 | .suspend = rt2x00pci_suspend, |
1191 | .resume = rt2x00pci_resume, | 1197 | .resume = rt2x00pci_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c index 1bb9a7d09de5..6f7c16174575 100644 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c | |||
@@ -768,230 +768,230 @@ static const struct rt2x00_ops rt2800usb_ops = { | |||
768 | */ | 768 | */ |
769 | static struct usb_device_id rt2800usb_device_table[] = { | 769 | static struct usb_device_id rt2800usb_device_table[] = { |
770 | /* Abocom */ | 770 | /* Abocom */ |
771 | { USB_DEVICE(0x07b8, 0x2870), USB_DEVICE_DATA(&rt2800usb_ops) }, | 771 | { USB_DEVICE(0x07b8, 0x2870) }, |
772 | { USB_DEVICE(0x07b8, 0x2770), USB_DEVICE_DATA(&rt2800usb_ops) }, | 772 | { USB_DEVICE(0x07b8, 0x2770) }, |
773 | { USB_DEVICE(0x07b8, 0x3070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 773 | { USB_DEVICE(0x07b8, 0x3070) }, |
774 | { USB_DEVICE(0x07b8, 0x3071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 774 | { USB_DEVICE(0x07b8, 0x3071) }, |
775 | { USB_DEVICE(0x07b8, 0x3072), USB_DEVICE_DATA(&rt2800usb_ops) }, | 775 | { USB_DEVICE(0x07b8, 0x3072) }, |
776 | { USB_DEVICE(0x1482, 0x3c09), USB_DEVICE_DATA(&rt2800usb_ops) }, | 776 | { USB_DEVICE(0x1482, 0x3c09) }, |
777 | /* AirTies */ | 777 | /* AirTies */ |
778 | { USB_DEVICE(0x1eda, 0x2310), USB_DEVICE_DATA(&rt2800usb_ops) }, | 778 | { USB_DEVICE(0x1eda, 0x2310) }, |
779 | /* Allwin */ | 779 | /* Allwin */ |
780 | { USB_DEVICE(0x8516, 0x2070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 780 | { USB_DEVICE(0x8516, 0x2070) }, |
781 | { USB_DEVICE(0x8516, 0x2770), USB_DEVICE_DATA(&rt2800usb_ops) }, | 781 | { USB_DEVICE(0x8516, 0x2770) }, |
782 | { USB_DEVICE(0x8516, 0x2870), USB_DEVICE_DATA(&rt2800usb_ops) }, | 782 | { USB_DEVICE(0x8516, 0x2870) }, |
783 | { USB_DEVICE(0x8516, 0x3070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 783 | { USB_DEVICE(0x8516, 0x3070) }, |
784 | { USB_DEVICE(0x8516, 0x3071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 784 | { USB_DEVICE(0x8516, 0x3071) }, |
785 | { USB_DEVICE(0x8516, 0x3072), USB_DEVICE_DATA(&rt2800usb_ops) }, | 785 | { USB_DEVICE(0x8516, 0x3072) }, |
786 | /* Alpha Networks */ | 786 | /* Alpha Networks */ |
787 | { USB_DEVICE(0x14b2, 0x3c06), USB_DEVICE_DATA(&rt2800usb_ops) }, | 787 | { USB_DEVICE(0x14b2, 0x3c06) }, |
788 | { USB_DEVICE(0x14b2, 0x3c07), USB_DEVICE_DATA(&rt2800usb_ops) }, | 788 | { USB_DEVICE(0x14b2, 0x3c07) }, |
789 | { USB_DEVICE(0x14b2, 0x3c09), USB_DEVICE_DATA(&rt2800usb_ops) }, | 789 | { USB_DEVICE(0x14b2, 0x3c09) }, |
790 | { USB_DEVICE(0x14b2, 0x3c12), USB_DEVICE_DATA(&rt2800usb_ops) }, | 790 | { USB_DEVICE(0x14b2, 0x3c12) }, |
791 | { USB_DEVICE(0x14b2, 0x3c23), USB_DEVICE_DATA(&rt2800usb_ops) }, | 791 | { USB_DEVICE(0x14b2, 0x3c23) }, |
792 | { USB_DEVICE(0x14b2, 0x3c25), USB_DEVICE_DATA(&rt2800usb_ops) }, | 792 | { USB_DEVICE(0x14b2, 0x3c25) }, |
793 | { USB_DEVICE(0x14b2, 0x3c27), USB_DEVICE_DATA(&rt2800usb_ops) }, | 793 | { USB_DEVICE(0x14b2, 0x3c27) }, |
794 | { USB_DEVICE(0x14b2, 0x3c28), USB_DEVICE_DATA(&rt2800usb_ops) }, | 794 | { USB_DEVICE(0x14b2, 0x3c28) }, |
795 | { USB_DEVICE(0x14b2, 0x3c2c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 795 | { USB_DEVICE(0x14b2, 0x3c2c) }, |
796 | /* Amit */ | 796 | /* Amit */ |
797 | { USB_DEVICE(0x15c5, 0x0008), USB_DEVICE_DATA(&rt2800usb_ops) }, | 797 | { USB_DEVICE(0x15c5, 0x0008) }, |
798 | /* Askey */ | 798 | /* Askey */ |
799 | { USB_DEVICE(0x1690, 0x0740), USB_DEVICE_DATA(&rt2800usb_ops) }, | 799 | { USB_DEVICE(0x1690, 0x0740) }, |
800 | /* ASUS */ | 800 | /* ASUS */ |
801 | { USB_DEVICE(0x0b05, 0x1731), USB_DEVICE_DATA(&rt2800usb_ops) }, | 801 | { USB_DEVICE(0x0b05, 0x1731) }, |
802 | { USB_DEVICE(0x0b05, 0x1732), USB_DEVICE_DATA(&rt2800usb_ops) }, | 802 | { USB_DEVICE(0x0b05, 0x1732) }, |
803 | { USB_DEVICE(0x0b05, 0x1742), USB_DEVICE_DATA(&rt2800usb_ops) }, | 803 | { USB_DEVICE(0x0b05, 0x1742) }, |
804 | { USB_DEVICE(0x0b05, 0x1784), USB_DEVICE_DATA(&rt2800usb_ops) }, | 804 | { USB_DEVICE(0x0b05, 0x1784) }, |
805 | { USB_DEVICE(0x1761, 0x0b05), USB_DEVICE_DATA(&rt2800usb_ops) }, | 805 | { USB_DEVICE(0x1761, 0x0b05) }, |
806 | /* AzureWave */ | 806 | /* AzureWave */ |
807 | { USB_DEVICE(0x13d3, 0x3247), USB_DEVICE_DATA(&rt2800usb_ops) }, | 807 | { USB_DEVICE(0x13d3, 0x3247) }, |
808 | { USB_DEVICE(0x13d3, 0x3273), USB_DEVICE_DATA(&rt2800usb_ops) }, | 808 | { USB_DEVICE(0x13d3, 0x3273) }, |
809 | { USB_DEVICE(0x13d3, 0x3305), USB_DEVICE_DATA(&rt2800usb_ops) }, | 809 | { USB_DEVICE(0x13d3, 0x3305) }, |
810 | { USB_DEVICE(0x13d3, 0x3307), USB_DEVICE_DATA(&rt2800usb_ops) }, | 810 | { USB_DEVICE(0x13d3, 0x3307) }, |
811 | { USB_DEVICE(0x13d3, 0x3321), USB_DEVICE_DATA(&rt2800usb_ops) }, | 811 | { USB_DEVICE(0x13d3, 0x3321) }, |
812 | /* Belkin */ | 812 | /* Belkin */ |
813 | { USB_DEVICE(0x050d, 0x8053), USB_DEVICE_DATA(&rt2800usb_ops) }, | 813 | { USB_DEVICE(0x050d, 0x8053) }, |
814 | { USB_DEVICE(0x050d, 0x805c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 814 | { USB_DEVICE(0x050d, 0x805c) }, |
815 | { USB_DEVICE(0x050d, 0x815c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 815 | { USB_DEVICE(0x050d, 0x815c) }, |
816 | { USB_DEVICE(0x050d, 0x825b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 816 | { USB_DEVICE(0x050d, 0x825b) }, |
817 | { USB_DEVICE(0x050d, 0x935a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 817 | { USB_DEVICE(0x050d, 0x935a) }, |
818 | { USB_DEVICE(0x050d, 0x935b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 818 | { USB_DEVICE(0x050d, 0x935b) }, |
819 | /* Buffalo */ | 819 | /* Buffalo */ |
820 | { USB_DEVICE(0x0411, 0x00e8), USB_DEVICE_DATA(&rt2800usb_ops) }, | 820 | { USB_DEVICE(0x0411, 0x00e8) }, |
821 | { USB_DEVICE(0x0411, 0x016f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 821 | { USB_DEVICE(0x0411, 0x016f) }, |
822 | { USB_DEVICE(0x0411, 0x01a2), USB_DEVICE_DATA(&rt2800usb_ops) }, | 822 | { USB_DEVICE(0x0411, 0x01a2) }, |
823 | /* Corega */ | 823 | /* Corega */ |
824 | { USB_DEVICE(0x07aa, 0x002f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 824 | { USB_DEVICE(0x07aa, 0x002f) }, |
825 | { USB_DEVICE(0x07aa, 0x003c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 825 | { USB_DEVICE(0x07aa, 0x003c) }, |
826 | { USB_DEVICE(0x07aa, 0x003f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 826 | { USB_DEVICE(0x07aa, 0x003f) }, |
827 | { USB_DEVICE(0x18c5, 0x0012), USB_DEVICE_DATA(&rt2800usb_ops) }, | 827 | { USB_DEVICE(0x18c5, 0x0012) }, |
828 | /* D-Link */ | 828 | /* D-Link */ |
829 | { USB_DEVICE(0x07d1, 0x3c09), USB_DEVICE_DATA(&rt2800usb_ops) }, | 829 | { USB_DEVICE(0x07d1, 0x3c09) }, |
830 | { USB_DEVICE(0x07d1, 0x3c0a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 830 | { USB_DEVICE(0x07d1, 0x3c0a) }, |
831 | { USB_DEVICE(0x07d1, 0x3c0d), USB_DEVICE_DATA(&rt2800usb_ops) }, | 831 | { USB_DEVICE(0x07d1, 0x3c0d) }, |
832 | { USB_DEVICE(0x07d1, 0x3c0e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 832 | { USB_DEVICE(0x07d1, 0x3c0e) }, |
833 | { USB_DEVICE(0x07d1, 0x3c0f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 833 | { USB_DEVICE(0x07d1, 0x3c0f) }, |
834 | { USB_DEVICE(0x07d1, 0x3c11), USB_DEVICE_DATA(&rt2800usb_ops) }, | 834 | { USB_DEVICE(0x07d1, 0x3c11) }, |
835 | { USB_DEVICE(0x07d1, 0x3c16), USB_DEVICE_DATA(&rt2800usb_ops) }, | 835 | { USB_DEVICE(0x07d1, 0x3c16) }, |
836 | /* Draytek */ | 836 | /* Draytek */ |
837 | { USB_DEVICE(0x07fa, 0x7712), USB_DEVICE_DATA(&rt2800usb_ops) }, | 837 | { USB_DEVICE(0x07fa, 0x7712) }, |
838 | /* Edimax */ | 838 | /* Edimax */ |
839 | { USB_DEVICE(0x7392, 0x7711), USB_DEVICE_DATA(&rt2800usb_ops) }, | 839 | { USB_DEVICE(0x7392, 0x7711) }, |
840 | { USB_DEVICE(0x7392, 0x7717), USB_DEVICE_DATA(&rt2800usb_ops) }, | 840 | { USB_DEVICE(0x7392, 0x7717) }, |
841 | { USB_DEVICE(0x7392, 0x7718), USB_DEVICE_DATA(&rt2800usb_ops) }, | 841 | { USB_DEVICE(0x7392, 0x7718) }, |
842 | /* Encore */ | 842 | /* Encore */ |
843 | { USB_DEVICE(0x203d, 0x1480), USB_DEVICE_DATA(&rt2800usb_ops) }, | 843 | { USB_DEVICE(0x203d, 0x1480) }, |
844 | { USB_DEVICE(0x203d, 0x14a9), USB_DEVICE_DATA(&rt2800usb_ops) }, | 844 | { USB_DEVICE(0x203d, 0x14a9) }, |
845 | /* EnGenius */ | 845 | /* EnGenius */ |
846 | { USB_DEVICE(0x1740, 0x9701), USB_DEVICE_DATA(&rt2800usb_ops) }, | 846 | { USB_DEVICE(0x1740, 0x9701) }, |
847 | { USB_DEVICE(0x1740, 0x9702), USB_DEVICE_DATA(&rt2800usb_ops) }, | 847 | { USB_DEVICE(0x1740, 0x9702) }, |
848 | { USB_DEVICE(0x1740, 0x9703), USB_DEVICE_DATA(&rt2800usb_ops) }, | 848 | { USB_DEVICE(0x1740, 0x9703) }, |
849 | { USB_DEVICE(0x1740, 0x9705), USB_DEVICE_DATA(&rt2800usb_ops) }, | 849 | { USB_DEVICE(0x1740, 0x9705) }, |
850 | { USB_DEVICE(0x1740, 0x9706), USB_DEVICE_DATA(&rt2800usb_ops) }, | 850 | { USB_DEVICE(0x1740, 0x9706) }, |
851 | { USB_DEVICE(0x1740, 0x9707), USB_DEVICE_DATA(&rt2800usb_ops) }, | 851 | { USB_DEVICE(0x1740, 0x9707) }, |
852 | { USB_DEVICE(0x1740, 0x9708), USB_DEVICE_DATA(&rt2800usb_ops) }, | 852 | { USB_DEVICE(0x1740, 0x9708) }, |
853 | { USB_DEVICE(0x1740, 0x9709), USB_DEVICE_DATA(&rt2800usb_ops) }, | 853 | { USB_DEVICE(0x1740, 0x9709) }, |
854 | /* Gemtek */ | 854 | /* Gemtek */ |
855 | { USB_DEVICE(0x15a9, 0x0012), USB_DEVICE_DATA(&rt2800usb_ops) }, | 855 | { USB_DEVICE(0x15a9, 0x0012) }, |
856 | /* Gigabyte */ | 856 | /* Gigabyte */ |
857 | { USB_DEVICE(0x1044, 0x800b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 857 | { USB_DEVICE(0x1044, 0x800b) }, |
858 | { USB_DEVICE(0x1044, 0x800d), USB_DEVICE_DATA(&rt2800usb_ops) }, | 858 | { USB_DEVICE(0x1044, 0x800d) }, |
859 | /* Hawking */ | 859 | /* Hawking */ |
860 | { USB_DEVICE(0x0e66, 0x0001), USB_DEVICE_DATA(&rt2800usb_ops) }, | 860 | { USB_DEVICE(0x0e66, 0x0001) }, |
861 | { USB_DEVICE(0x0e66, 0x0003), USB_DEVICE_DATA(&rt2800usb_ops) }, | 861 | { USB_DEVICE(0x0e66, 0x0003) }, |
862 | { USB_DEVICE(0x0e66, 0x0009), USB_DEVICE_DATA(&rt2800usb_ops) }, | 862 | { USB_DEVICE(0x0e66, 0x0009) }, |
863 | { USB_DEVICE(0x0e66, 0x000b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 863 | { USB_DEVICE(0x0e66, 0x000b) }, |
864 | { USB_DEVICE(0x0e66, 0x0013), USB_DEVICE_DATA(&rt2800usb_ops) }, | 864 | { USB_DEVICE(0x0e66, 0x0013) }, |
865 | { USB_DEVICE(0x0e66, 0x0017), USB_DEVICE_DATA(&rt2800usb_ops) }, | 865 | { USB_DEVICE(0x0e66, 0x0017) }, |
866 | { USB_DEVICE(0x0e66, 0x0018), USB_DEVICE_DATA(&rt2800usb_ops) }, | 866 | { USB_DEVICE(0x0e66, 0x0018) }, |
867 | /* I-O DATA */ | 867 | /* I-O DATA */ |
868 | { USB_DEVICE(0x04bb, 0x0945), USB_DEVICE_DATA(&rt2800usb_ops) }, | 868 | { USB_DEVICE(0x04bb, 0x0945) }, |
869 | { USB_DEVICE(0x04bb, 0x0947), USB_DEVICE_DATA(&rt2800usb_ops) }, | 869 | { USB_DEVICE(0x04bb, 0x0947) }, |
870 | { USB_DEVICE(0x04bb, 0x0948), USB_DEVICE_DATA(&rt2800usb_ops) }, | 870 | { USB_DEVICE(0x04bb, 0x0948) }, |
871 | /* Linksys */ | 871 | /* Linksys */ |
872 | { USB_DEVICE(0x13b1, 0x0031), USB_DEVICE_DATA(&rt2800usb_ops) }, | 872 | { USB_DEVICE(0x13b1, 0x0031) }, |
873 | { USB_DEVICE(0x1737, 0x0070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 873 | { USB_DEVICE(0x1737, 0x0070) }, |
874 | { USB_DEVICE(0x1737, 0x0071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 874 | { USB_DEVICE(0x1737, 0x0071) }, |
875 | /* Logitec */ | 875 | /* Logitec */ |
876 | { USB_DEVICE(0x0789, 0x0162), USB_DEVICE_DATA(&rt2800usb_ops) }, | 876 | { USB_DEVICE(0x0789, 0x0162) }, |
877 | { USB_DEVICE(0x0789, 0x0163), USB_DEVICE_DATA(&rt2800usb_ops) }, | 877 | { USB_DEVICE(0x0789, 0x0163) }, |
878 | { USB_DEVICE(0x0789, 0x0164), USB_DEVICE_DATA(&rt2800usb_ops) }, | 878 | { USB_DEVICE(0x0789, 0x0164) }, |
879 | { USB_DEVICE(0x0789, 0x0166), USB_DEVICE_DATA(&rt2800usb_ops) }, | 879 | { USB_DEVICE(0x0789, 0x0166) }, |
880 | /* Motorola */ | 880 | /* Motorola */ |
881 | { USB_DEVICE(0x100d, 0x9031), USB_DEVICE_DATA(&rt2800usb_ops) }, | 881 | { USB_DEVICE(0x100d, 0x9031) }, |
882 | /* MSI */ | 882 | /* MSI */ |
883 | { USB_DEVICE(0x0db0, 0x3820), USB_DEVICE_DATA(&rt2800usb_ops) }, | 883 | { USB_DEVICE(0x0db0, 0x3820) }, |
884 | { USB_DEVICE(0x0db0, 0x3821), USB_DEVICE_DATA(&rt2800usb_ops) }, | 884 | { USB_DEVICE(0x0db0, 0x3821) }, |
885 | { USB_DEVICE(0x0db0, 0x3822), USB_DEVICE_DATA(&rt2800usb_ops) }, | 885 | { USB_DEVICE(0x0db0, 0x3822) }, |
886 | { USB_DEVICE(0x0db0, 0x3870), USB_DEVICE_DATA(&rt2800usb_ops) }, | 886 | { USB_DEVICE(0x0db0, 0x3870) }, |
887 | { USB_DEVICE(0x0db0, 0x3871), USB_DEVICE_DATA(&rt2800usb_ops) }, | 887 | { USB_DEVICE(0x0db0, 0x3871) }, |
888 | { USB_DEVICE(0x0db0, 0x6899), USB_DEVICE_DATA(&rt2800usb_ops) }, | 888 | { USB_DEVICE(0x0db0, 0x6899) }, |
889 | { USB_DEVICE(0x0db0, 0x821a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 889 | { USB_DEVICE(0x0db0, 0x821a) }, |
890 | { USB_DEVICE(0x0db0, 0x822a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 890 | { USB_DEVICE(0x0db0, 0x822a) }, |
891 | { USB_DEVICE(0x0db0, 0x822b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 891 | { USB_DEVICE(0x0db0, 0x822b) }, |
892 | { USB_DEVICE(0x0db0, 0x822c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 892 | { USB_DEVICE(0x0db0, 0x822c) }, |
893 | { USB_DEVICE(0x0db0, 0x870a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 893 | { USB_DEVICE(0x0db0, 0x870a) }, |
894 | { USB_DEVICE(0x0db0, 0x871a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 894 | { USB_DEVICE(0x0db0, 0x871a) }, |
895 | { USB_DEVICE(0x0db0, 0x871b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 895 | { USB_DEVICE(0x0db0, 0x871b) }, |
896 | { USB_DEVICE(0x0db0, 0x871c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 896 | { USB_DEVICE(0x0db0, 0x871c) }, |
897 | { USB_DEVICE(0x0db0, 0x899a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 897 | { USB_DEVICE(0x0db0, 0x899a) }, |
898 | /* Para */ | 898 | /* Para */ |
899 | { USB_DEVICE(0x20b8, 0x8888), USB_DEVICE_DATA(&rt2800usb_ops) }, | 899 | { USB_DEVICE(0x20b8, 0x8888) }, |
900 | /* Pegatron */ | 900 | /* Pegatron */ |
901 | { USB_DEVICE(0x1d4d, 0x000c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 901 | { USB_DEVICE(0x1d4d, 0x000c) }, |
902 | { USB_DEVICE(0x1d4d, 0x000e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 902 | { USB_DEVICE(0x1d4d, 0x000e) }, |
903 | { USB_DEVICE(0x1d4d, 0x0011), USB_DEVICE_DATA(&rt2800usb_ops) }, | 903 | { USB_DEVICE(0x1d4d, 0x0011) }, |
904 | /* Philips */ | 904 | /* Philips */ |
905 | { USB_DEVICE(0x0471, 0x200f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 905 | { USB_DEVICE(0x0471, 0x200f) }, |
906 | /* Planex */ | 906 | /* Planex */ |
907 | { USB_DEVICE(0x2019, 0xab25), USB_DEVICE_DATA(&rt2800usb_ops) }, | 907 | { USB_DEVICE(0x2019, 0xab25) }, |
908 | { USB_DEVICE(0x2019, 0xed06), USB_DEVICE_DATA(&rt2800usb_ops) }, | 908 | { USB_DEVICE(0x2019, 0xed06) }, |
909 | /* Quanta */ | 909 | /* Quanta */ |
910 | { USB_DEVICE(0x1a32, 0x0304), USB_DEVICE_DATA(&rt2800usb_ops) }, | 910 | { USB_DEVICE(0x1a32, 0x0304) }, |
911 | /* Ralink */ | 911 | /* Ralink */ |
912 | { USB_DEVICE(0x148f, 0x2070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 912 | { USB_DEVICE(0x148f, 0x2070) }, |
913 | { USB_DEVICE(0x148f, 0x2770), USB_DEVICE_DATA(&rt2800usb_ops) }, | 913 | { USB_DEVICE(0x148f, 0x2770) }, |
914 | { USB_DEVICE(0x148f, 0x2870), USB_DEVICE_DATA(&rt2800usb_ops) }, | 914 | { USB_DEVICE(0x148f, 0x2870) }, |
915 | { USB_DEVICE(0x148f, 0x3070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 915 | { USB_DEVICE(0x148f, 0x3070) }, |
916 | { USB_DEVICE(0x148f, 0x3071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 916 | { USB_DEVICE(0x148f, 0x3071) }, |
917 | { USB_DEVICE(0x148f, 0x3072), USB_DEVICE_DATA(&rt2800usb_ops) }, | 917 | { USB_DEVICE(0x148f, 0x3072) }, |
918 | /* Samsung */ | 918 | /* Samsung */ |
919 | { USB_DEVICE(0x04e8, 0x2018), USB_DEVICE_DATA(&rt2800usb_ops) }, | 919 | { USB_DEVICE(0x04e8, 0x2018) }, |
920 | /* Siemens */ | 920 | /* Siemens */ |
921 | { USB_DEVICE(0x129b, 0x1828), USB_DEVICE_DATA(&rt2800usb_ops) }, | 921 | { USB_DEVICE(0x129b, 0x1828) }, |
922 | /* Sitecom */ | 922 | /* Sitecom */ |
923 | { USB_DEVICE(0x0df6, 0x0017), USB_DEVICE_DATA(&rt2800usb_ops) }, | 923 | { USB_DEVICE(0x0df6, 0x0017) }, |
924 | { USB_DEVICE(0x0df6, 0x002b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 924 | { USB_DEVICE(0x0df6, 0x002b) }, |
925 | { USB_DEVICE(0x0df6, 0x002c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 925 | { USB_DEVICE(0x0df6, 0x002c) }, |
926 | { USB_DEVICE(0x0df6, 0x002d), USB_DEVICE_DATA(&rt2800usb_ops) }, | 926 | { USB_DEVICE(0x0df6, 0x002d) }, |
927 | { USB_DEVICE(0x0df6, 0x0039), USB_DEVICE_DATA(&rt2800usb_ops) }, | 927 | { USB_DEVICE(0x0df6, 0x0039) }, |
928 | { USB_DEVICE(0x0df6, 0x003b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 928 | { USB_DEVICE(0x0df6, 0x003b) }, |
929 | { USB_DEVICE(0x0df6, 0x003d), USB_DEVICE_DATA(&rt2800usb_ops) }, | 929 | { USB_DEVICE(0x0df6, 0x003d) }, |
930 | { USB_DEVICE(0x0df6, 0x003e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 930 | { USB_DEVICE(0x0df6, 0x003e) }, |
931 | { USB_DEVICE(0x0df6, 0x003f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 931 | { USB_DEVICE(0x0df6, 0x003f) }, |
932 | { USB_DEVICE(0x0df6, 0x0040), USB_DEVICE_DATA(&rt2800usb_ops) }, | 932 | { USB_DEVICE(0x0df6, 0x0040) }, |
933 | { USB_DEVICE(0x0df6, 0x0042), USB_DEVICE_DATA(&rt2800usb_ops) }, | 933 | { USB_DEVICE(0x0df6, 0x0042) }, |
934 | { USB_DEVICE(0x0df6, 0x0047), USB_DEVICE_DATA(&rt2800usb_ops) }, | 934 | { USB_DEVICE(0x0df6, 0x0047) }, |
935 | { USB_DEVICE(0x0df6, 0x0048), USB_DEVICE_DATA(&rt2800usb_ops) }, | 935 | { USB_DEVICE(0x0df6, 0x0048) }, |
936 | /* SMC */ | 936 | /* SMC */ |
937 | { USB_DEVICE(0x083a, 0x6618), USB_DEVICE_DATA(&rt2800usb_ops) }, | 937 | { USB_DEVICE(0x083a, 0x6618) }, |
938 | { USB_DEVICE(0x083a, 0x7511), USB_DEVICE_DATA(&rt2800usb_ops) }, | 938 | { USB_DEVICE(0x083a, 0x7511) }, |
939 | { USB_DEVICE(0x083a, 0x7512), USB_DEVICE_DATA(&rt2800usb_ops) }, | 939 | { USB_DEVICE(0x083a, 0x7512) }, |
940 | { USB_DEVICE(0x083a, 0x7522), USB_DEVICE_DATA(&rt2800usb_ops) }, | 940 | { USB_DEVICE(0x083a, 0x7522) }, |
941 | { USB_DEVICE(0x083a, 0x8522), USB_DEVICE_DATA(&rt2800usb_ops) }, | 941 | { USB_DEVICE(0x083a, 0x8522) }, |
942 | { USB_DEVICE(0x083a, 0xa618), USB_DEVICE_DATA(&rt2800usb_ops) }, | 942 | { USB_DEVICE(0x083a, 0xa618) }, |
943 | { USB_DEVICE(0x083a, 0xa701), USB_DEVICE_DATA(&rt2800usb_ops) }, | 943 | { USB_DEVICE(0x083a, 0xa701) }, |
944 | { USB_DEVICE(0x083a, 0xa702), USB_DEVICE_DATA(&rt2800usb_ops) }, | 944 | { USB_DEVICE(0x083a, 0xa702) }, |
945 | { USB_DEVICE(0x083a, 0xa703), USB_DEVICE_DATA(&rt2800usb_ops) }, | 945 | { USB_DEVICE(0x083a, 0xa703) }, |
946 | { USB_DEVICE(0x083a, 0xb522), USB_DEVICE_DATA(&rt2800usb_ops) }, | 946 | { USB_DEVICE(0x083a, 0xb522) }, |
947 | /* Sparklan */ | 947 | /* Sparklan */ |
948 | { USB_DEVICE(0x15a9, 0x0006), USB_DEVICE_DATA(&rt2800usb_ops) }, | 948 | { USB_DEVICE(0x15a9, 0x0006) }, |
949 | /* Sweex */ | 949 | /* Sweex */ |
950 | { USB_DEVICE(0x177f, 0x0302), USB_DEVICE_DATA(&rt2800usb_ops) }, | 950 | { USB_DEVICE(0x177f, 0x0302) }, |
951 | /* U-Media */ | 951 | /* U-Media */ |
952 | { USB_DEVICE(0x157e, 0x300e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 952 | { USB_DEVICE(0x157e, 0x300e) }, |
953 | { USB_DEVICE(0x157e, 0x3013), USB_DEVICE_DATA(&rt2800usb_ops) }, | 953 | { USB_DEVICE(0x157e, 0x3013) }, |
954 | /* ZCOM */ | 954 | /* ZCOM */ |
955 | { USB_DEVICE(0x0cde, 0x0022), USB_DEVICE_DATA(&rt2800usb_ops) }, | 955 | { USB_DEVICE(0x0cde, 0x0022) }, |
956 | { USB_DEVICE(0x0cde, 0x0025), USB_DEVICE_DATA(&rt2800usb_ops) }, | 956 | { USB_DEVICE(0x0cde, 0x0025) }, |
957 | /* Zinwell */ | 957 | /* Zinwell */ |
958 | { USB_DEVICE(0x5a57, 0x0280), USB_DEVICE_DATA(&rt2800usb_ops) }, | 958 | { USB_DEVICE(0x5a57, 0x0280) }, |
959 | { USB_DEVICE(0x5a57, 0x0282), USB_DEVICE_DATA(&rt2800usb_ops) }, | 959 | { USB_DEVICE(0x5a57, 0x0282) }, |
960 | { USB_DEVICE(0x5a57, 0x0283), USB_DEVICE_DATA(&rt2800usb_ops) }, | 960 | { USB_DEVICE(0x5a57, 0x0283) }, |
961 | { USB_DEVICE(0x5a57, 0x5257), USB_DEVICE_DATA(&rt2800usb_ops) }, | 961 | { USB_DEVICE(0x5a57, 0x5257) }, |
962 | /* Zyxel */ | 962 | /* Zyxel */ |
963 | { USB_DEVICE(0x0586, 0x3416), USB_DEVICE_DATA(&rt2800usb_ops) }, | 963 | { USB_DEVICE(0x0586, 0x3416) }, |
964 | { USB_DEVICE(0x0586, 0x3418), USB_DEVICE_DATA(&rt2800usb_ops) }, | 964 | { USB_DEVICE(0x0586, 0x3418) }, |
965 | { USB_DEVICE(0x0586, 0x341e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 965 | { USB_DEVICE(0x0586, 0x341e) }, |
966 | #ifdef CONFIG_RT2800USB_RT33XX | 966 | #ifdef CONFIG_RT2800USB_RT33XX |
967 | /* Ralink */ | 967 | /* Ralink */ |
968 | { USB_DEVICE(0x148f, 0x3370), USB_DEVICE_DATA(&rt2800usb_ops) }, | 968 | { USB_DEVICE(0x148f, 0x3370) }, |
969 | { USB_DEVICE(0x148f, 0x8070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 969 | { USB_DEVICE(0x148f, 0x8070) }, |
970 | /* Sitecom */ | 970 | /* Sitecom */ |
971 | { USB_DEVICE(0x0df6, 0x0050), USB_DEVICE_DATA(&rt2800usb_ops) }, | 971 | { USB_DEVICE(0x0df6, 0x0050) }, |
972 | #endif | 972 | #endif |
973 | #ifdef CONFIG_RT2800USB_RT35XX | 973 | #ifdef CONFIG_RT2800USB_RT35XX |
974 | /* Allwin */ | 974 | /* Allwin */ |
975 | { USB_DEVICE(0x8516, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) }, | 975 | { USB_DEVICE(0x8516, 0x3572) }, |
976 | /* Askey */ | 976 | /* Askey */ |
977 | { USB_DEVICE(0x1690, 0x0744), USB_DEVICE_DATA(&rt2800usb_ops) }, | 977 | { USB_DEVICE(0x1690, 0x0744) }, |
978 | /* Cisco */ | 978 | /* Cisco */ |
979 | { USB_DEVICE(0x167b, 0x4001), USB_DEVICE_DATA(&rt2800usb_ops) }, | 979 | { USB_DEVICE(0x167b, 0x4001) }, |
980 | /* EnGenius */ | 980 | /* EnGenius */ |
981 | { USB_DEVICE(0x1740, 0x9801), USB_DEVICE_DATA(&rt2800usb_ops) }, | 981 | { USB_DEVICE(0x1740, 0x9801) }, |
982 | /* I-O DATA */ | 982 | /* I-O DATA */ |
983 | { USB_DEVICE(0x04bb, 0x0944), USB_DEVICE_DATA(&rt2800usb_ops) }, | 983 | { USB_DEVICE(0x04bb, 0x0944) }, |
984 | /* Linksys */ | 984 | /* Linksys */ |
985 | { USB_DEVICE(0x13b1, 0x002f), USB_DEVICE_DATA(&rt2800usb_ops) }, | 985 | { USB_DEVICE(0x13b1, 0x002f) }, |
986 | { USB_DEVICE(0x1737, 0x0079), USB_DEVICE_DATA(&rt2800usb_ops) }, | 986 | { USB_DEVICE(0x1737, 0x0079) }, |
987 | /* Ralink */ | 987 | /* Ralink */ |
988 | { USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) }, | 988 | { USB_DEVICE(0x148f, 0x3572) }, |
989 | /* Sitecom */ | 989 | /* Sitecom */ |
990 | { USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) }, | 990 | { USB_DEVICE(0x0df6, 0x0041) }, |
991 | /* Toshiba */ | 991 | /* Toshiba */ |
992 | { USB_DEVICE(0x0930, 0x0a07), USB_DEVICE_DATA(&rt2800usb_ops) }, | 992 | { USB_DEVICE(0x0930, 0x0a07) }, |
993 | /* Zinwell */ | 993 | /* Zinwell */ |
994 | { USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) }, | 994 | { USB_DEVICE(0x5a57, 0x0284) }, |
995 | #endif | 995 | #endif |
996 | #ifdef CONFIG_RT2800USB_UNKNOWN | 996 | #ifdef CONFIG_RT2800USB_UNKNOWN |
997 | /* | 997 | /* |
@@ -999,73 +999,73 @@ static struct usb_device_id rt2800usb_device_table[] = { | |||
999 | * vendor linux driver). | 999 | * vendor linux driver). |
1000 | */ | 1000 | */ |
1001 | /* Alpha Networks */ | 1001 | /* Alpha Networks */ |
1002 | { USB_DEVICE(0x14b2, 0x3c08), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1002 | { USB_DEVICE(0x14b2, 0x3c08) }, |
1003 | { USB_DEVICE(0x14b2, 0x3c11), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1003 | { USB_DEVICE(0x14b2, 0x3c11) }, |
1004 | /* Amigo */ | 1004 | /* Amigo */ |
1005 | { USB_DEVICE(0x0e0b, 0x9031), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1005 | { USB_DEVICE(0x0e0b, 0x9031) }, |
1006 | { USB_DEVICE(0x0e0b, 0x9041), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1006 | { USB_DEVICE(0x0e0b, 0x9041) }, |
1007 | /* ASUS */ | 1007 | /* ASUS */ |
1008 | { USB_DEVICE(0x0b05, 0x1760), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1008 | { USB_DEVICE(0x0b05, 0x1760) }, |
1009 | { USB_DEVICE(0x0b05, 0x1761), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1009 | { USB_DEVICE(0x0b05, 0x1761) }, |
1010 | { USB_DEVICE(0x0b05, 0x1790), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1010 | { USB_DEVICE(0x0b05, 0x1790) }, |
1011 | /* AzureWave */ | 1011 | /* AzureWave */ |
1012 | { USB_DEVICE(0x13d3, 0x3262), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1012 | { USB_DEVICE(0x13d3, 0x3262) }, |
1013 | { USB_DEVICE(0x13d3, 0x3284), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1013 | { USB_DEVICE(0x13d3, 0x3284) }, |
1014 | { USB_DEVICE(0x13d3, 0x3322), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1014 | { USB_DEVICE(0x13d3, 0x3322) }, |
1015 | /* Belkin */ | 1015 | /* Belkin */ |
1016 | { USB_DEVICE(0x050d, 0x825a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1016 | { USB_DEVICE(0x050d, 0x825a) }, |
1017 | /* Buffalo */ | 1017 | /* Buffalo */ |
1018 | { USB_DEVICE(0x0411, 0x012e), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1018 | { USB_DEVICE(0x0411, 0x012e) }, |
1019 | { USB_DEVICE(0x0411, 0x0148), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1019 | { USB_DEVICE(0x0411, 0x0148) }, |
1020 | { USB_DEVICE(0x0411, 0x0150), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1020 | { USB_DEVICE(0x0411, 0x0150) }, |
1021 | { USB_DEVICE(0x0411, 0x015d), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1021 | { USB_DEVICE(0x0411, 0x015d) }, |
1022 | /* Corega */ | 1022 | /* Corega */ |
1023 | { USB_DEVICE(0x07aa, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1023 | { USB_DEVICE(0x07aa, 0x0041) }, |
1024 | { USB_DEVICE(0x07aa, 0x0042), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1024 | { USB_DEVICE(0x07aa, 0x0042) }, |
1025 | { USB_DEVICE(0x18c5, 0x0008), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1025 | { USB_DEVICE(0x18c5, 0x0008) }, |
1026 | /* D-Link */ | 1026 | /* D-Link */ |
1027 | { USB_DEVICE(0x07d1, 0x3c0b), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1027 | { USB_DEVICE(0x07d1, 0x3c0b) }, |
1028 | { USB_DEVICE(0x07d1, 0x3c13), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1028 | { USB_DEVICE(0x07d1, 0x3c13) }, |
1029 | { USB_DEVICE(0x07d1, 0x3c15), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1029 | { USB_DEVICE(0x07d1, 0x3c15) }, |
1030 | { USB_DEVICE(0x07d1, 0x3c17), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1030 | { USB_DEVICE(0x07d1, 0x3c17) }, |
1031 | /* Edimax */ | 1031 | /* Edimax */ |
1032 | { USB_DEVICE(0x7392, 0x4085), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1032 | { USB_DEVICE(0x7392, 0x4085) }, |
1033 | /* Encore */ | 1033 | /* Encore */ |
1034 | { USB_DEVICE(0x203d, 0x14a1), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1034 | { USB_DEVICE(0x203d, 0x14a1) }, |
1035 | /* Gemtek */ | 1035 | /* Gemtek */ |
1036 | { USB_DEVICE(0x15a9, 0x0010), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1036 | { USB_DEVICE(0x15a9, 0x0010) }, |
1037 | /* Gigabyte */ | 1037 | /* Gigabyte */ |
1038 | { USB_DEVICE(0x1044, 0x800c), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1038 | { USB_DEVICE(0x1044, 0x800c) }, |
1039 | /* LevelOne */ | 1039 | /* LevelOne */ |
1040 | { USB_DEVICE(0x1740, 0x0605), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1040 | { USB_DEVICE(0x1740, 0x0605) }, |
1041 | { USB_DEVICE(0x1740, 0x0615), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1041 | { USB_DEVICE(0x1740, 0x0615) }, |
1042 | /* Linksys */ | 1042 | /* Linksys */ |
1043 | { USB_DEVICE(0x1737, 0x0077), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1043 | { USB_DEVICE(0x1737, 0x0077) }, |
1044 | { USB_DEVICE(0x1737, 0x0078), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1044 | { USB_DEVICE(0x1737, 0x0078) }, |
1045 | /* Motorola */ | 1045 | /* Motorola */ |
1046 | { USB_DEVICE(0x100d, 0x9032), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1046 | { USB_DEVICE(0x100d, 0x9032) }, |
1047 | /* Ovislink */ | 1047 | /* Ovislink */ |
1048 | { USB_DEVICE(0x1b75, 0x3071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1048 | { USB_DEVICE(0x1b75, 0x3071) }, |
1049 | { USB_DEVICE(0x1b75, 0x3072), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1049 | { USB_DEVICE(0x1b75, 0x3072) }, |
1050 | /* Pegatron */ | 1050 | /* Pegatron */ |
1051 | { USB_DEVICE(0x05a6, 0x0101), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1051 | { USB_DEVICE(0x05a6, 0x0101) }, |
1052 | { USB_DEVICE(0x1d4d, 0x0002), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1052 | { USB_DEVICE(0x1d4d, 0x0002) }, |
1053 | { USB_DEVICE(0x1d4d, 0x0010), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1053 | { USB_DEVICE(0x1d4d, 0x0010) }, |
1054 | /* Planex */ | 1054 | /* Planex */ |
1055 | { USB_DEVICE(0x2019, 0x5201), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1055 | { USB_DEVICE(0x2019, 0x5201) }, |
1056 | { USB_DEVICE(0x2019, 0xab24), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1056 | { USB_DEVICE(0x2019, 0xab24) }, |
1057 | /* Qcom */ | 1057 | /* Qcom */ |
1058 | { USB_DEVICE(0x18e8, 0x6259), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1058 | { USB_DEVICE(0x18e8, 0x6259) }, |
1059 | /* SMC */ | 1059 | /* SMC */ |
1060 | { USB_DEVICE(0x083a, 0xa512), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1060 | { USB_DEVICE(0x083a, 0xa512) }, |
1061 | { USB_DEVICE(0x083a, 0xc522), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1061 | { USB_DEVICE(0x083a, 0xc522) }, |
1062 | { USB_DEVICE(0x083a, 0xd522), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1062 | { USB_DEVICE(0x083a, 0xd522) }, |
1063 | { USB_DEVICE(0x083a, 0xf511), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1063 | { USB_DEVICE(0x083a, 0xf511) }, |
1064 | /* Sweex */ | 1064 | /* Sweex */ |
1065 | { USB_DEVICE(0x177f, 0x0153), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1065 | { USB_DEVICE(0x177f, 0x0153) }, |
1066 | { USB_DEVICE(0x177f, 0x0313), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1066 | { USB_DEVICE(0x177f, 0x0313) }, |
1067 | /* Zyxel */ | 1067 | /* Zyxel */ |
1068 | { USB_DEVICE(0x0586, 0x341a), USB_DEVICE_DATA(&rt2800usb_ops) }, | 1068 | { USB_DEVICE(0x0586, 0x341a) }, |
1069 | #endif | 1069 | #endif |
1070 | { 0, } | 1070 | { 0, } |
1071 | }; | 1071 | }; |
@@ -1078,10 +1078,16 @@ MODULE_DEVICE_TABLE(usb, rt2800usb_device_table); | |||
1078 | MODULE_FIRMWARE(FIRMWARE_RT2870); | 1078 | MODULE_FIRMWARE(FIRMWARE_RT2870); |
1079 | MODULE_LICENSE("GPL"); | 1079 | MODULE_LICENSE("GPL"); |
1080 | 1080 | ||
1081 | static int rt2800usb_probe(struct usb_interface *usb_intf, | ||
1082 | const struct usb_device_id *id) | ||
1083 | { | ||
1084 | return rt2x00usb_probe(usb_intf, &rt2800usb_ops); | ||
1085 | } | ||
1086 | |||
1081 | static struct usb_driver rt2800usb_driver = { | 1087 | static struct usb_driver rt2800usb_driver = { |
1082 | .name = KBUILD_MODNAME, | 1088 | .name = KBUILD_MODNAME, |
1083 | .id_table = rt2800usb_device_table, | 1089 | .id_table = rt2800usb_device_table, |
1084 | .probe = rt2x00usb_probe, | 1090 | .probe = rt2800usb_probe, |
1085 | .disconnect = rt2x00usb_disconnect, | 1091 | .disconnect = rt2x00usb_disconnect, |
1086 | .suspend = rt2x00usb_suspend, | 1092 | .suspend = rt2x00usb_suspend, |
1087 | .resume = rt2x00usb_resume, | 1093 | .resume = rt2x00usb_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c index 695aecf6bd03..17148bb24426 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.c +++ b/drivers/net/wireless/rt2x00/rt2x00pci.c | |||
@@ -251,9 +251,8 @@ exit: | |||
251 | return -ENOMEM; | 251 | return -ENOMEM; |
252 | } | 252 | } |
253 | 253 | ||
254 | int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) | 254 | int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops) |
255 | { | 255 | { |
256 | struct rt2x00_ops *ops = (struct rt2x00_ops *)id->driver_data; | ||
257 | struct ieee80211_hw *hw; | 256 | struct ieee80211_hw *hw; |
258 | struct rt2x00_dev *rt2x00dev; | 257 | struct rt2x00_dev *rt2x00dev; |
259 | int retval; | 258 | int retval; |
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.h b/drivers/net/wireless/rt2x00/rt2x00pci.h index 5d5887426f7a..e2c99f2b9a14 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.h +++ b/drivers/net/wireless/rt2x00/rt2x00pci.h | |||
@@ -126,7 +126,7 @@ void rt2x00pci_uninitialize(struct rt2x00_dev *rt2x00dev); | |||
126 | /* | 126 | /* |
127 | * PCI driver handlers. | 127 | * PCI driver handlers. |
128 | */ | 128 | */ |
129 | int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id); | 129 | int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops); |
130 | void rt2x00pci_remove(struct pci_dev *pci_dev); | 130 | void rt2x00pci_remove(struct pci_dev *pci_dev); |
131 | #ifdef CONFIG_PM | 131 | #ifdef CONFIG_PM |
132 | int rt2x00pci_suspend(struct pci_dev *pci_dev, pm_message_t state); | 132 | int rt2x00pci_suspend(struct pci_dev *pci_dev, pm_message_t state); |
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index 9957579248c4..570184ee163c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -791,10 +791,9 @@ exit: | |||
791 | } | 791 | } |
792 | 792 | ||
793 | int rt2x00usb_probe(struct usb_interface *usb_intf, | 793 | int rt2x00usb_probe(struct usb_interface *usb_intf, |
794 | const struct usb_device_id *id) | 794 | const struct rt2x00_ops *ops) |
795 | { | 795 | { |
796 | struct usb_device *usb_dev = interface_to_usbdev(usb_intf); | 796 | struct usb_device *usb_dev = interface_to_usbdev(usb_intf); |
797 | struct rt2x00_ops *ops = (struct rt2x00_ops *)id->driver_info; | ||
798 | struct ieee80211_hw *hw; | 797 | struct ieee80211_hw *hw; |
799 | struct rt2x00_dev *rt2x00dev; | 798 | struct rt2x00_dev *rt2x00dev; |
800 | int retval; | 799 | int retval; |
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.h b/drivers/net/wireless/rt2x00/rt2x00usb.h index 6aeba71b665b..52b09d2e11de 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.h +++ b/drivers/net/wireless/rt2x00/rt2x00usb.h | |||
@@ -35,12 +35,6 @@ | |||
35 | }) | 35 | }) |
36 | 36 | ||
37 | /* | 37 | /* |
38 | * This variable should be used with the | ||
39 | * usb_driver structure initialization. | ||
40 | */ | ||
41 | #define USB_DEVICE_DATA(__ops) .driver_info = (kernel_ulong_t)(__ops) | ||
42 | |||
43 | /* | ||
44 | * For USB vendor requests we need to pass a timeout | 38 | * For USB vendor requests we need to pass a timeout |
45 | * time in ms, for this we use the REGISTER_TIMEOUT, | 39 | * time in ms, for this we use the REGISTER_TIMEOUT, |
46 | * however when loading firmware a higher value is | 40 | * however when loading firmware a higher value is |
@@ -433,7 +427,7 @@ void rt2x00usb_uninitialize(struct rt2x00_dev *rt2x00dev); | |||
433 | * USB driver handlers. | 427 | * USB driver handlers. |
434 | */ | 428 | */ |
435 | int rt2x00usb_probe(struct usb_interface *usb_intf, | 429 | int rt2x00usb_probe(struct usb_interface *usb_intf, |
436 | const struct usb_device_id *id); | 430 | const struct rt2x00_ops *ops); |
437 | void rt2x00usb_disconnect(struct usb_interface *usb_intf); | 431 | void rt2x00usb_disconnect(struct usb_interface *usb_intf); |
438 | #ifdef CONFIG_PM | 432 | #ifdef CONFIG_PM |
439 | int rt2x00usb_suspend(struct usb_interface *usb_intf, pm_message_t state); | 433 | int rt2x00usb_suspend(struct usb_interface *usb_intf, pm_message_t state); |
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c index 264508f31a2a..c5dccdb2f175 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.c +++ b/drivers/net/wireless/rt2x00/rt61pci.c | |||
@@ -3061,11 +3061,11 @@ static const struct rt2x00_ops rt61pci_ops = { | |||
3061 | */ | 3061 | */ |
3062 | static DEFINE_PCI_DEVICE_TABLE(rt61pci_device_table) = { | 3062 | static DEFINE_PCI_DEVICE_TABLE(rt61pci_device_table) = { |
3063 | /* RT2561s */ | 3063 | /* RT2561s */ |
3064 | { PCI_DEVICE(0x1814, 0x0301), PCI_DEVICE_DATA(&rt61pci_ops) }, | 3064 | { PCI_DEVICE(0x1814, 0x0301) }, |
3065 | /* RT2561 v2 */ | 3065 | /* RT2561 v2 */ |
3066 | { PCI_DEVICE(0x1814, 0x0302), PCI_DEVICE_DATA(&rt61pci_ops) }, | 3066 | { PCI_DEVICE(0x1814, 0x0302) }, |
3067 | /* RT2661 */ | 3067 | /* RT2661 */ |
3068 | { PCI_DEVICE(0x1814, 0x0401), PCI_DEVICE_DATA(&rt61pci_ops) }, | 3068 | { PCI_DEVICE(0x1814, 0x0401) }, |
3069 | { 0, } | 3069 | { 0, } |
3070 | }; | 3070 | }; |
3071 | 3071 | ||
@@ -3080,10 +3080,16 @@ MODULE_FIRMWARE(FIRMWARE_RT2561s); | |||
3080 | MODULE_FIRMWARE(FIRMWARE_RT2661); | 3080 | MODULE_FIRMWARE(FIRMWARE_RT2661); |
3081 | MODULE_LICENSE("GPL"); | 3081 | MODULE_LICENSE("GPL"); |
3082 | 3082 | ||
3083 | static int rt61pci_probe(struct pci_dev *pci_dev, | ||
3084 | const struct pci_device_id *id) | ||
3085 | { | ||
3086 | return rt2x00pci_probe(pci_dev, &rt61pci_ops); | ||
3087 | } | ||
3088 | |||
3083 | static struct pci_driver rt61pci_driver = { | 3089 | static struct pci_driver rt61pci_driver = { |
3084 | .name = KBUILD_MODNAME, | 3090 | .name = KBUILD_MODNAME, |
3085 | .id_table = rt61pci_device_table, | 3091 | .id_table = rt61pci_device_table, |
3086 | .probe = rt2x00pci_probe, | 3092 | .probe = rt61pci_probe, |
3087 | .remove = __devexit_p(rt2x00pci_remove), | 3093 | .remove = __devexit_p(rt2x00pci_remove), |
3088 | .suspend = rt2x00pci_suspend, | 3094 | .suspend = rt2x00pci_suspend, |
3089 | .resume = rt2x00pci_resume, | 3095 | .resume = rt2x00pci_resume, |
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index cdb026d076db..be3eb5e894ef 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -2388,113 +2388,113 @@ static const struct rt2x00_ops rt73usb_ops = { | |||
2388 | */ | 2388 | */ |
2389 | static struct usb_device_id rt73usb_device_table[] = { | 2389 | static struct usb_device_id rt73usb_device_table[] = { |
2390 | /* AboCom */ | 2390 | /* AboCom */ |
2391 | { USB_DEVICE(0x07b8, 0xb21b), USB_DEVICE_DATA(&rt73usb_ops) }, | 2391 | { USB_DEVICE(0x07b8, 0xb21b) }, |
2392 | { USB_DEVICE(0x07b8, 0xb21c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2392 | { USB_DEVICE(0x07b8, 0xb21c) }, |
2393 | { USB_DEVICE(0x07b8, 0xb21d), USB_DEVICE_DATA(&rt73usb_ops) }, | 2393 | { USB_DEVICE(0x07b8, 0xb21d) }, |
2394 | { USB_DEVICE(0x07b8, 0xb21e), USB_DEVICE_DATA(&rt73usb_ops) }, | 2394 | { USB_DEVICE(0x07b8, 0xb21e) }, |
2395 | { USB_DEVICE(0x07b8, 0xb21f), USB_DEVICE_DATA(&rt73usb_ops) }, | 2395 | { USB_DEVICE(0x07b8, 0xb21f) }, |
2396 | /* AL */ | 2396 | /* AL */ |
2397 | { USB_DEVICE(0x14b2, 0x3c10), USB_DEVICE_DATA(&rt73usb_ops) }, | 2397 | { USB_DEVICE(0x14b2, 0x3c10) }, |
2398 | /* Amigo */ | 2398 | /* Amigo */ |
2399 | { USB_DEVICE(0x148f, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) }, | 2399 | { USB_DEVICE(0x148f, 0x9021) }, |
2400 | { USB_DEVICE(0x0eb0, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) }, | 2400 | { USB_DEVICE(0x0eb0, 0x9021) }, |
2401 | /* AMIT */ | 2401 | /* AMIT */ |
2402 | { USB_DEVICE(0x18c5, 0x0002), USB_DEVICE_DATA(&rt73usb_ops) }, | 2402 | { USB_DEVICE(0x18c5, 0x0002) }, |
2403 | /* Askey */ | 2403 | /* Askey */ |
2404 | { USB_DEVICE(0x1690, 0x0722), USB_DEVICE_DATA(&rt73usb_ops) }, | 2404 | { USB_DEVICE(0x1690, 0x0722) }, |
2405 | /* ASUS */ | 2405 | /* ASUS */ |
2406 | { USB_DEVICE(0x0b05, 0x1723), USB_DEVICE_DATA(&rt73usb_ops) }, | 2406 | { USB_DEVICE(0x0b05, 0x1723) }, |
2407 | { USB_DEVICE(0x0b05, 0x1724), USB_DEVICE_DATA(&rt73usb_ops) }, | 2407 | { USB_DEVICE(0x0b05, 0x1724) }, |
2408 | /* Belkin */ | 2408 | /* Belkin */ |
2409 | { USB_DEVICE(0x050d, 0x705a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2409 | { USB_DEVICE(0x050d, 0x705a) }, |
2410 | { USB_DEVICE(0x050d, 0x905b), USB_DEVICE_DATA(&rt73usb_ops) }, | 2410 | { USB_DEVICE(0x050d, 0x905b) }, |
2411 | { USB_DEVICE(0x050d, 0x905c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2411 | { USB_DEVICE(0x050d, 0x905c) }, |
2412 | /* Billionton */ | 2412 | /* Billionton */ |
2413 | { USB_DEVICE(0x1631, 0xc019), USB_DEVICE_DATA(&rt73usb_ops) }, | 2413 | { USB_DEVICE(0x1631, 0xc019) }, |
2414 | { USB_DEVICE(0x08dd, 0x0120), USB_DEVICE_DATA(&rt73usb_ops) }, | 2414 | { USB_DEVICE(0x08dd, 0x0120) }, |
2415 | /* Buffalo */ | 2415 | /* Buffalo */ |
2416 | { USB_DEVICE(0x0411, 0x00d8), USB_DEVICE_DATA(&rt73usb_ops) }, | 2416 | { USB_DEVICE(0x0411, 0x00d8) }, |
2417 | { USB_DEVICE(0x0411, 0x00d9), USB_DEVICE_DATA(&rt73usb_ops) }, | 2417 | { USB_DEVICE(0x0411, 0x00d9) }, |
2418 | { USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) }, | 2418 | { USB_DEVICE(0x0411, 0x00f4) }, |
2419 | { USB_DEVICE(0x0411, 0x0116), USB_DEVICE_DATA(&rt73usb_ops) }, | 2419 | { USB_DEVICE(0x0411, 0x0116) }, |
2420 | { USB_DEVICE(0x0411, 0x0119), USB_DEVICE_DATA(&rt73usb_ops) }, | 2420 | { USB_DEVICE(0x0411, 0x0119) }, |
2421 | { USB_DEVICE(0x0411, 0x0137), USB_DEVICE_DATA(&rt73usb_ops) }, | 2421 | { USB_DEVICE(0x0411, 0x0137) }, |
2422 | /* CEIVA */ | 2422 | /* CEIVA */ |
2423 | { USB_DEVICE(0x178d, 0x02be), USB_DEVICE_DATA(&rt73usb_ops) }, | 2423 | { USB_DEVICE(0x178d, 0x02be) }, |
2424 | /* CNet */ | 2424 | /* CNet */ |
2425 | { USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt73usb_ops) }, | 2425 | { USB_DEVICE(0x1371, 0x9022) }, |
2426 | { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) }, | 2426 | { USB_DEVICE(0x1371, 0x9032) }, |
2427 | /* Conceptronic */ | 2427 | /* Conceptronic */ |
2428 | { USB_DEVICE(0x14b2, 0x3c22), USB_DEVICE_DATA(&rt73usb_ops) }, | 2428 | { USB_DEVICE(0x14b2, 0x3c22) }, |
2429 | /* Corega */ | 2429 | /* Corega */ |
2430 | { USB_DEVICE(0x07aa, 0x002e), USB_DEVICE_DATA(&rt73usb_ops) }, | 2430 | { USB_DEVICE(0x07aa, 0x002e) }, |
2431 | /* D-Link */ | 2431 | /* D-Link */ |
2432 | { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, | 2432 | { USB_DEVICE(0x07d1, 0x3c03) }, |
2433 | { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, | 2433 | { USB_DEVICE(0x07d1, 0x3c04) }, |
2434 | { USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) }, | 2434 | { USB_DEVICE(0x07d1, 0x3c06) }, |
2435 | { USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) }, | 2435 | { USB_DEVICE(0x07d1, 0x3c07) }, |
2436 | /* Edimax */ | 2436 | /* Edimax */ |
2437 | { USB_DEVICE(0x7392, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) }, | 2437 | { USB_DEVICE(0x7392, 0x7318) }, |
2438 | { USB_DEVICE(0x7392, 0x7618), USB_DEVICE_DATA(&rt73usb_ops) }, | 2438 | { USB_DEVICE(0x7392, 0x7618) }, |
2439 | /* EnGenius */ | 2439 | /* EnGenius */ |
2440 | { USB_DEVICE(0x1740, 0x3701), USB_DEVICE_DATA(&rt73usb_ops) }, | 2440 | { USB_DEVICE(0x1740, 0x3701) }, |
2441 | /* Gemtek */ | 2441 | /* Gemtek */ |
2442 | { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) }, | 2442 | { USB_DEVICE(0x15a9, 0x0004) }, |
2443 | /* Gigabyte */ | 2443 | /* Gigabyte */ |
2444 | { USB_DEVICE(0x1044, 0x8008), USB_DEVICE_DATA(&rt73usb_ops) }, | 2444 | { USB_DEVICE(0x1044, 0x8008) }, |
2445 | { USB_DEVICE(0x1044, 0x800a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2445 | { USB_DEVICE(0x1044, 0x800a) }, |
2446 | /* Huawei-3Com */ | 2446 | /* Huawei-3Com */ |
2447 | { USB_DEVICE(0x1472, 0x0009), USB_DEVICE_DATA(&rt73usb_ops) }, | 2447 | { USB_DEVICE(0x1472, 0x0009) }, |
2448 | /* Hercules */ | 2448 | /* Hercules */ |
2449 | { USB_DEVICE(0x06f8, 0xe002), USB_DEVICE_DATA(&rt73usb_ops) }, | 2449 | { USB_DEVICE(0x06f8, 0xe002) }, |
2450 | { USB_DEVICE(0x06f8, 0xe010), USB_DEVICE_DATA(&rt73usb_ops) }, | 2450 | { USB_DEVICE(0x06f8, 0xe010) }, |
2451 | { USB_DEVICE(0x06f8, 0xe020), USB_DEVICE_DATA(&rt73usb_ops) }, | 2451 | { USB_DEVICE(0x06f8, 0xe020) }, |
2452 | /* Linksys */ | 2452 | /* Linksys */ |
2453 | { USB_DEVICE(0x13b1, 0x0020), USB_DEVICE_DATA(&rt73usb_ops) }, | 2453 | { USB_DEVICE(0x13b1, 0x0020) }, |
2454 | { USB_DEVICE(0x13b1, 0x0023), USB_DEVICE_DATA(&rt73usb_ops) }, | 2454 | { USB_DEVICE(0x13b1, 0x0023) }, |
2455 | { USB_DEVICE(0x13b1, 0x0028), USB_DEVICE_DATA(&rt73usb_ops) }, | 2455 | { USB_DEVICE(0x13b1, 0x0028) }, |
2456 | /* MSI */ | 2456 | /* MSI */ |
2457 | { USB_DEVICE(0x0db0, 0x4600), USB_DEVICE_DATA(&rt73usb_ops) }, | 2457 | { USB_DEVICE(0x0db0, 0x4600) }, |
2458 | { USB_DEVICE(0x0db0, 0x6877), USB_DEVICE_DATA(&rt73usb_ops) }, | 2458 | { USB_DEVICE(0x0db0, 0x6877) }, |
2459 | { USB_DEVICE(0x0db0, 0x6874), USB_DEVICE_DATA(&rt73usb_ops) }, | 2459 | { USB_DEVICE(0x0db0, 0x6874) }, |
2460 | { USB_DEVICE(0x0db0, 0xa861), USB_DEVICE_DATA(&rt73usb_ops) }, | 2460 | { USB_DEVICE(0x0db0, 0xa861) }, |
2461 | { USB_DEVICE(0x0db0, 0xa874), USB_DEVICE_DATA(&rt73usb_ops) }, | 2461 | { USB_DEVICE(0x0db0, 0xa874) }, |
2462 | /* Ovislink */ | 2462 | /* Ovislink */ |
2463 | { USB_DEVICE(0x1b75, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) }, | 2463 | { USB_DEVICE(0x1b75, 0x7318) }, |
2464 | /* Ralink */ | 2464 | /* Ralink */ |
2465 | { USB_DEVICE(0x04bb, 0x093d), USB_DEVICE_DATA(&rt73usb_ops) }, | 2465 | { USB_DEVICE(0x04bb, 0x093d) }, |
2466 | { USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt73usb_ops) }, | 2466 | { USB_DEVICE(0x148f, 0x2573) }, |
2467 | { USB_DEVICE(0x148f, 0x2671), USB_DEVICE_DATA(&rt73usb_ops) }, | 2467 | { USB_DEVICE(0x148f, 0x2671) }, |
2468 | { USB_DEVICE(0x0812, 0x3101), USB_DEVICE_DATA(&rt73usb_ops) }, | 2468 | { USB_DEVICE(0x0812, 0x3101) }, |
2469 | /* Qcom */ | 2469 | /* Qcom */ |
2470 | { USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) }, | 2470 | { USB_DEVICE(0x18e8, 0x6196) }, |
2471 | { USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) }, | 2471 | { USB_DEVICE(0x18e8, 0x6229) }, |
2472 | { USB_DEVICE(0x18e8, 0x6238), USB_DEVICE_DATA(&rt73usb_ops) }, | 2472 | { USB_DEVICE(0x18e8, 0x6238) }, |
2473 | /* Samsung */ | 2473 | /* Samsung */ |
2474 | { USB_DEVICE(0x04e8, 0x4471), USB_DEVICE_DATA(&rt73usb_ops) }, | 2474 | { USB_DEVICE(0x04e8, 0x4471) }, |
2475 | /* Senao */ | 2475 | /* Senao */ |
2476 | { USB_DEVICE(0x1740, 0x7100), USB_DEVICE_DATA(&rt73usb_ops) }, | 2476 | { USB_DEVICE(0x1740, 0x7100) }, |
2477 | /* Sitecom */ | 2477 | /* Sitecom */ |
2478 | { USB_DEVICE(0x0df6, 0x0024), USB_DEVICE_DATA(&rt73usb_ops) }, | 2478 | { USB_DEVICE(0x0df6, 0x0024) }, |
2479 | { USB_DEVICE(0x0df6, 0x0027), USB_DEVICE_DATA(&rt73usb_ops) }, | 2479 | { USB_DEVICE(0x0df6, 0x0027) }, |
2480 | { USB_DEVICE(0x0df6, 0x002f), USB_DEVICE_DATA(&rt73usb_ops) }, | 2480 | { USB_DEVICE(0x0df6, 0x002f) }, |
2481 | { USB_DEVICE(0x0df6, 0x90ac), USB_DEVICE_DATA(&rt73usb_ops) }, | 2481 | { USB_DEVICE(0x0df6, 0x90ac) }, |
2482 | { USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) }, | 2482 | { USB_DEVICE(0x0df6, 0x9712) }, |
2483 | /* Surecom */ | 2483 | /* Surecom */ |
2484 | { USB_DEVICE(0x0769, 0x31f3), USB_DEVICE_DATA(&rt73usb_ops) }, | 2484 | { USB_DEVICE(0x0769, 0x31f3) }, |
2485 | /* Tilgin */ | 2485 | /* Tilgin */ |
2486 | { USB_DEVICE(0x6933, 0x5001), USB_DEVICE_DATA(&rt73usb_ops) }, | 2486 | { USB_DEVICE(0x6933, 0x5001) }, |
2487 | /* Philips */ | 2487 | /* Philips */ |
2488 | { USB_DEVICE(0x0471, 0x200a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2488 | { USB_DEVICE(0x0471, 0x200a) }, |
2489 | /* Planex */ | 2489 | /* Planex */ |
2490 | { USB_DEVICE(0x2019, 0xab01), USB_DEVICE_DATA(&rt73usb_ops) }, | 2490 | { USB_DEVICE(0x2019, 0xab01) }, |
2491 | { USB_DEVICE(0x2019, 0xab50), USB_DEVICE_DATA(&rt73usb_ops) }, | 2491 | { USB_DEVICE(0x2019, 0xab50) }, |
2492 | /* WideTell */ | 2492 | /* WideTell */ |
2493 | { USB_DEVICE(0x7167, 0x3840), USB_DEVICE_DATA(&rt73usb_ops) }, | 2493 | { USB_DEVICE(0x7167, 0x3840) }, |
2494 | /* Zcom */ | 2494 | /* Zcom */ |
2495 | { USB_DEVICE(0x0cde, 0x001c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2495 | { USB_DEVICE(0x0cde, 0x001c) }, |
2496 | /* ZyXEL */ | 2496 | /* ZyXEL */ |
2497 | { USB_DEVICE(0x0586, 0x3415), USB_DEVICE_DATA(&rt73usb_ops) }, | 2497 | { USB_DEVICE(0x0586, 0x3415) }, |
2498 | { 0, } | 2498 | { 0, } |
2499 | }; | 2499 | }; |
2500 | 2500 | ||
@@ -2506,10 +2506,16 @@ MODULE_DEVICE_TABLE(usb, rt73usb_device_table); | |||
2506 | MODULE_FIRMWARE(FIRMWARE_RT2571); | 2506 | MODULE_FIRMWARE(FIRMWARE_RT2571); |
2507 | MODULE_LICENSE("GPL"); | 2507 | MODULE_LICENSE("GPL"); |
2508 | 2508 | ||
2509 | static int rt73usb_probe(struct usb_interface *usb_intf, | ||
2510 | const struct usb_device_id *id) | ||
2511 | { | ||
2512 | return rt2x00usb_probe(usb_intf, &rt73usb_ops); | ||
2513 | } | ||
2514 | |||
2509 | static struct usb_driver rt73usb_driver = { | 2515 | static struct usb_driver rt73usb_driver = { |
2510 | .name = KBUILD_MODNAME, | 2516 | .name = KBUILD_MODNAME, |
2511 | .id_table = rt73usb_device_table, | 2517 | .id_table = rt73usb_device_table, |
2512 | .probe = rt2x00usb_probe, | 2518 | .probe = rt73usb_probe, |
2513 | .disconnect = rt2x00usb_disconnect, | 2519 | .disconnect = rt2x00usb_disconnect, |
2514 | .suspend = rt2x00usb_suspend, | 2520 | .suspend = rt2x00usb_suspend, |
2515 | .resume = rt2x00usb_resume, | 2521 | .resume = rt2x00usb_resume, |