diff options
author | simon <simon@ubuntu.(none)> | 2011-04-06 17:40:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-10 21:46:44 -0400 |
commit | 647da406e5e6cef87d17ee4d3c65c7b496883a3f (patch) | |
tree | 5c5b2718163844484433f3c97ff2fa5a45c72c69 /drivers/net/usb/plusb.c | |
parent | 6e4d2d9eb22dc9e9f0abfb1a464405b97a461cde (diff) |
usb: plusb: Add support for PL-25A1
This patch adds support for the PL-25A1 by adding the appropriate
USB ID's. This chip is used in the Belkin 'Windows Easy Transfer'
Cables.
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/plusb.c')
-rw-r--r-- | drivers/net/usb/plusb.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/drivers/net/usb/plusb.c b/drivers/net/usb/plusb.c index 2fe1bb5d7ba5..f46aa07bfa69 100644 --- a/drivers/net/usb/plusb.c +++ b/drivers/net/usb/plusb.c | |||
@@ -45,6 +45,14 @@ | |||
45 | * seems to get wedged under load. Prolific docs are weak, and | 45 | * seems to get wedged under load. Prolific docs are weak, and |
46 | * don't identify differences between PL2301 and PL2302, much less | 46 | * don't identify differences between PL2301 and PL2302, much less |
47 | * anything to explain the different PL2302 versions observed. | 47 | * anything to explain the different PL2302 versions observed. |
48 | * | ||
49 | * NOTE: pl2501 has several modes, including pl2301 and pl2302 | ||
50 | * compatibility. Some docs suggest the difference between 2301 | ||
51 | * and 2302 is only to make MS-Windows use a different driver... | ||
52 | * | ||
53 | * pl25a1 glue based on patch from Tony Gibbs. Prolific "docs" on | ||
54 | * this chip are as usual incomplete about what control messages | ||
55 | * are supported. | ||
48 | */ | 56 | */ |
49 | 57 | ||
50 | /* | 58 | /* |
@@ -95,7 +103,7 @@ static int pl_reset(struct usbnet *dev) | |||
95 | } | 103 | } |
96 | 104 | ||
97 | static const struct driver_info prolific_info = { | 105 | static const struct driver_info prolific_info = { |
98 | .description = "Prolific PL-2301/PL-2302", | 106 | .description = "Prolific PL-2301/PL-2302/PL-25A1", |
99 | .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT, | 107 | .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT, |
100 | /* some PL-2302 versions seem to fail usb_set_interface() */ | 108 | /* some PL-2302 versions seem to fail usb_set_interface() */ |
101 | .reset = pl_reset, | 109 | .reset = pl_reset, |
@@ -111,6 +119,7 @@ static const struct driver_info prolific_info = { | |||
111 | 119 | ||
112 | static const struct usb_device_id products [] = { | 120 | static const struct usb_device_id products [] = { |
113 | 121 | ||
122 | /* full speed cables */ | ||
114 | { | 123 | { |
115 | USB_DEVICE(0x067b, 0x0000), // PL-2301 | 124 | USB_DEVICE(0x067b, 0x0000), // PL-2301 |
116 | .driver_info = (unsigned long) &prolific_info, | 125 | .driver_info = (unsigned long) &prolific_info, |
@@ -119,6 +128,15 @@ static const struct usb_device_id products [] = { | |||
119 | .driver_info = (unsigned long) &prolific_info, | 128 | .driver_info = (unsigned long) &prolific_info, |
120 | }, | 129 | }, |
121 | 130 | ||
131 | /* high speed cables */ | ||
132 | { | ||
133 | USB_DEVICE(0x067b, 0x25a1), /* PL-25A1, no eeprom */ | ||
134 | .driver_info = (unsigned long) &prolific_info, | ||
135 | }, { | ||
136 | USB_DEVICE(0x050d, 0x258a), /* Belkin F5U258/F5U279 (PL-25A1) */ | ||
137 | .driver_info = (unsigned long) &prolific_info, | ||
138 | }, | ||
139 | |||
122 | { }, // END | 140 | { }, // END |
123 | }; | 141 | }; |
124 | MODULE_DEVICE_TABLE(usb, products); | 142 | MODULE_DEVICE_TABLE(usb, products); |
@@ -145,5 +163,5 @@ static void __exit plusb_exit(void) | |||
145 | module_exit(plusb_exit); | 163 | module_exit(plusb_exit); |
146 | 164 | ||
147 | MODULE_AUTHOR("David Brownell"); | 165 | MODULE_AUTHOR("David Brownell"); |
148 | MODULE_DESCRIPTION("Prolific PL-2301/2302 USB Host to Host Link Driver"); | 166 | MODULE_DESCRIPTION("Prolific PL-2301/2302/25A1 USB Host to Host Link Driver"); |
149 | MODULE_LICENSE("GPL"); | 167 | MODULE_LICENSE("GPL"); |