diff options
Diffstat (limited to 'drivers/usb/gadget/ether.c')
| -rw-r--r-- | drivers/usb/gadget/ether.c | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 8509e955007d..49459e33e952 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c | |||
| @@ -2181,6 +2181,7 @@ eth_bind (struct usb_gadget *gadget) | |||
| 2181 | u8 cdc = 1, zlp = 1, rndis = 1; | 2181 | u8 cdc = 1, zlp = 1, rndis = 1; |
| 2182 | struct usb_ep *in_ep, *out_ep, *status_ep = NULL; | 2182 | struct usb_ep *in_ep, *out_ep, *status_ep = NULL; |
| 2183 | int status = -ENOMEM; | 2183 | int status = -ENOMEM; |
| 2184 | int gcnum; | ||
| 2184 | 2185 | ||
| 2185 | /* these flags are only ever cleared; compiler take note */ | 2186 | /* these flags are only ever cleared; compiler take note */ |
| 2186 | #ifndef DEV_CONFIG_CDC | 2187 | #ifndef DEV_CONFIG_CDC |
| @@ -2194,44 +2195,26 @@ eth_bind (struct usb_gadget *gadget) | |||
| 2194 | * standard protocol is _strongly_ preferred for interop purposes. | 2195 | * standard protocol is _strongly_ preferred for interop purposes. |
| 2195 | * (By everyone except Microsoft.) | 2196 | * (By everyone except Microsoft.) |
| 2196 | */ | 2197 | */ |
| 2197 | if (gadget_is_net2280 (gadget)) { | 2198 | if (gadget_is_pxa (gadget)) { |
| 2198 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0201); | ||
| 2199 | } else if (gadget_is_dummy (gadget)) { | ||
| 2200 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0202); | ||
| 2201 | } else if (gadget_is_pxa (gadget)) { | ||
| 2202 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0203); | ||
| 2203 | /* pxa doesn't support altsettings */ | 2199 | /* pxa doesn't support altsettings */ |
| 2204 | cdc = 0; | 2200 | cdc = 0; |
| 2205 | } else if (gadget_is_sh(gadget)) { | 2201 | } else if (gadget_is_sh(gadget)) { |
| 2206 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0204); | ||
| 2207 | /* sh doesn't support multiple interfaces or configs */ | 2202 | /* sh doesn't support multiple interfaces or configs */ |
| 2208 | cdc = 0; | 2203 | cdc = 0; |
| 2209 | rndis = 0; | 2204 | rndis = 0; |
| 2210 | } else if (gadget_is_sa1100 (gadget)) { | 2205 | } else if (gadget_is_sa1100 (gadget)) { |
| 2211 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0205); | ||
| 2212 | /* hardware can't write zlps */ | 2206 | /* hardware can't write zlps */ |
| 2213 | zlp = 0; | 2207 | zlp = 0; |
| 2214 | /* sa1100 CAN do CDC, without status endpoint ... we use | 2208 | /* sa1100 CAN do CDC, without status endpoint ... we use |
| 2215 | * non-CDC to be compatible with ARM Linux-2.4 "usb-eth". | 2209 | * non-CDC to be compatible with ARM Linux-2.4 "usb-eth". |
| 2216 | */ | 2210 | */ |
| 2217 | cdc = 0; | 2211 | cdc = 0; |
| 2218 | } else if (gadget_is_goku (gadget)) { | 2212 | } |
| 2219 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0206); | 2213 | |
| 2220 | } else if (gadget_is_mq11xx (gadget)) { | 2214 | gcnum = usb_gadget_controller_number (gadget); |
| 2221 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0207); | 2215 | if (gcnum >= 0) |
| 2222 | } else if (gadget_is_omap (gadget)) { | 2216 | device_desc.bcdDevice = cpu_to_le16 (0x0200 + gcnum); |
| 2223 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0208); | 2217 | else { |
| 2224 | } else if (gadget_is_lh7a40x(gadget)) { | ||
| 2225 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209); | ||
| 2226 | } else if (gadget_is_n9604(gadget)) { | ||
| 2227 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210); | ||
| 2228 | } else if (gadget_is_pxa27x(gadget)) { | ||
| 2229 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211); | ||
| 2230 | } else if (gadget_is_s3c2410(gadget)) { | ||
| 2231 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0212); | ||
| 2232 | } else if (gadget_is_at91(gadget)) { | ||
| 2233 | device_desc.bcdDevice = __constant_cpu_to_le16 (0x0213); | ||
| 2234 | } else { | ||
| 2235 | /* can't assume CDC works. don't want to default to | 2218 | /* can't assume CDC works. don't want to default to |
| 2236 | * anything less functional on CDC-capable hardware, | 2219 | * anything less functional on CDC-capable hardware, |
| 2237 | * so we fail in this case. | 2220 | * so we fail in this case. |
