diff options
Diffstat (limited to 'drivers/usb/gadget/epautoconf.c')
-rw-r--r-- | drivers/usb/gadget/epautoconf.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c index cd0914ec898e..65a5f94cbc04 100644 --- a/drivers/usb/gadget/epautoconf.c +++ b/drivers/usb/gadget/epautoconf.c | |||
@@ -265,16 +265,24 @@ struct usb_ep * __init usb_ep_autoconfig ( | |||
265 | return ep; | 265 | return ep; |
266 | } | 266 | } |
267 | 267 | ||
268 | } else if (gadget_is_sh (gadget) && USB_ENDPOINT_XFER_INT == type) { | 268 | #ifdef CONFIG_BLACKFIN |
269 | /* single buffering is enough; maybe 8 byte fifo is too */ | 269 | } else if (gadget_is_musbhsfc(gadget) || gadget_is_musbhdrc(gadget)) { |
270 | ep = find_ep (gadget, "ep3in-bulk"); | 270 | if ((USB_ENDPOINT_XFER_BULK == type) || |
271 | if (ep && ep_matches (gadget, ep, desc)) | 271 | (USB_ENDPOINT_XFER_ISOC == type)) { |
272 | return ep; | 272 | if (USB_DIR_IN & desc->bEndpointAddress) |
273 | 273 | ep = find_ep (gadget, "ep5in"); | |
274 | } else if (gadget_is_mq11xx (gadget) && USB_ENDPOINT_XFER_INT == type) { | 274 | else |
275 | ep = find_ep (gadget, "ep1-bulk"); | 275 | ep = find_ep (gadget, "ep6out"); |
276 | } else if (USB_ENDPOINT_XFER_INT == type) { | ||
277 | if (USB_DIR_IN & desc->bEndpointAddress) | ||
278 | ep = find_ep(gadget, "ep1in"); | ||
279 | else | ||
280 | ep = find_ep(gadget, "ep2out"); | ||
281 | } else | ||
282 | ep = NULL; | ||
276 | if (ep && ep_matches (gadget, ep, desc)) | 283 | if (ep && ep_matches (gadget, ep, desc)) |
277 | return ep; | 284 | return ep; |
285 | #endif | ||
278 | } | 286 | } |
279 | 287 | ||
280 | /* Second, look at endpoints until an unclaimed one looks usable */ | 288 | /* Second, look at endpoints until an unclaimed one looks usable */ |