diff options
Diffstat (limited to 'ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c')
-rw-r--r-- | ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c b/ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c index 51f3d42f..fc5eb804 100644 --- a/ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c +++ b/ANDROID_3.4.5/drivers/usb/gadget/epautoconf.c @@ -280,6 +280,43 @@ struct usb_ep *usb_ep_autoconfig_ss( if (ep && ep_matches(gadget, ep, desc, ep_comp)) goto found_ep; + } else if (gadget_is_wmt (gadget)) { + //printk(KERN_INFO "usb_ep_autoconfig find wmt_gadget \n"); + if (USB_ENDPOINT_XFER_INT == type) { + /* single buffering is enough */ + //printk(KERN_INFO "usb_ep_autoconfig try to find ep3in-int \n"); + ep = find_ep (gadget, "ep3in-int"); + if (ep && ep_matches (gadget, ep, desc, ep_comp)){ + //printk(KERN_INFO "usb_ep_autoconfig found ep3in-int \n"); + goto found_ep; + } + } else if (USB_ENDPOINT_XFER_BULK == type + && (USB_DIR_IN & desc->bEndpointAddress)) { + /* DMA may be available */ + //printk(KERN_INFO "usb_ep_autoconfig try to find ep1in-bulk \n"); + ep = find_ep (gadget, "ep1in-bulk"); + if (ep && ep_matches (gadget, ep, desc, ep_comp)){ + //printk(KERN_INFO "usb_ep_autoconfig found ep1in-bulk \n"); + goto found_ep; + } + } else if (USB_ENDPOINT_XFER_BULK == type) { + /* DMA may be available */ + //printk(KERN_INFO "usb_ep_autoconfig try to find ep2out-bulk \n"); + ep = find_ep (gadget, "ep2out-bulk"); + if (ep && ep_matches (gadget, ep, desc, ep_comp)){ + //printk(KERN_INFO "usb_ep_autoconfig found ep2out-bulk \n"); + goto found_ep; + } + } else if (USB_ENDPOINT_XFER_ISOC == type + && (USB_DIR_IN & desc->bEndpointAddress)) { + /* DMA may be available */ + //printk(KERN_INFO "usb_ep_autoconfig try to find ep1in-bulk \n"); + ep = find_ep (gadget, "ep4in-iso"); + if (ep && ep_matches (gadget, ep, desc, ep_comp)){ + //printk(KERN_INFO "usb_ep_autoconfig found ep1in-bulk \n"); + goto found_ep; + } + } } else if (gadget_is_goku (gadget)) { if (USB_ENDPOINT_XFER_INT == type) { /* single buffering is enough */ |