mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge 4.2-rc6 into usb-next
We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
commit
e6bbe1d053
459 changed files with 6088 additions and 2695 deletions
|
|
@ -1024,7 +1024,18 @@ static struct platform_driver ci_hdrc_driver = {
|
|||
},
|
||||
};
|
||||
|
||||
module_platform_driver(ci_hdrc_driver);
|
||||
static int __init ci_hdrc_platform_register(void)
|
||||
{
|
||||
ci_hdrc_host_driver_init();
|
||||
return platform_driver_register(&ci_hdrc_driver);
|
||||
}
|
||||
module_init(ci_hdrc_platform_register);
|
||||
|
||||
static void __exit ci_hdrc_platform_unregister(void)
|
||||
{
|
||||
platform_driver_unregister(&ci_hdrc_driver);
|
||||
}
|
||||
module_exit(ci_hdrc_platform_unregister);
|
||||
|
||||
MODULE_ALIAS("platform:ci_hdrc");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
|
|
|||
|
|
@ -249,9 +249,12 @@ int ci_hdrc_host_init(struct ci_hdrc *ci)
|
|||
rdrv->name = "host";
|
||||
ci->roles[CI_ROLE_HOST] = rdrv;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ci_hdrc_host_driver_init(void)
|
||||
{
|
||||
ehci_init_driver(&ci_ehci_hc_driver, &ehci_ci_overrides);
|
||||
orig_bus_suspend = ci_ehci_hc_driver.bus_suspend;
|
||||
ci_ehci_hc_driver.bus_suspend = ci_ehci_bus_suspend;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
int ci_hdrc_host_init(struct ci_hdrc *ci);
|
||||
void ci_hdrc_host_destroy(struct ci_hdrc *ci);
|
||||
void ci_hdrc_host_driver_init(void);
|
||||
|
||||
#else
|
||||
|
||||
|
|
@ -18,6 +19,11 @@ static inline void ci_hdrc_host_destroy(struct ci_hdrc *ci)
|
|||
|
||||
}
|
||||
|
||||
static void ci_hdrc_host_driver_init(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __DRIVERS_USB_CHIPIDEA_HOST_H */
|
||||
|
|
|
|||
|
|
@ -699,6 +699,10 @@ static inline int hidg_get_minor(void)
|
|||
int ret;
|
||||
|
||||
ret = ida_simple_get(&hidg_ida, 0, 0, GFP_KERNEL);
|
||||
if (ret >= HIDG_MINORS) {
|
||||
ida_simple_remove(&hidg_ida, ret);
|
||||
ret = -ENODEV;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1248,7 +1248,15 @@ static struct config_item_type printer_func_type = {
|
|||
|
||||
static inline int gprinter_get_minor(void)
|
||||
{
|
||||
return ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
|
||||
int ret;
|
||||
|
||||
ret = ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
|
||||
if (ret >= PRINTER_MINORS) {
|
||||
ida_simple_remove(&printer_ida, ret);
|
||||
ret = -ENODEV;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void gprinter_put_minor(int minor)
|
||||
|
|
|
|||
|
|
@ -1162,14 +1162,14 @@ afunc_set_alt(struct usb_function *fn, unsigned intf, unsigned alt)
|
|||
factor = 1000;
|
||||
} else {
|
||||
ep_desc = &hs_epin_desc;
|
||||
factor = 125;
|
||||
factor = 8000;
|
||||
}
|
||||
|
||||
/* pre-compute some values for iso_complete() */
|
||||
uac2->p_framesize = opts->p_ssize *
|
||||
num_channels(opts->p_chmask);
|
||||
rate = opts->p_srate * uac2->p_framesize;
|
||||
uac2->p_interval = (1 << (ep_desc->bInterval - 1)) * factor;
|
||||
uac2->p_interval = factor / (1 << (ep_desc->bInterval - 1));
|
||||
uac2->p_pktsize = min_t(unsigned int, rate / uac2->p_interval,
|
||||
prm->max_psize);
|
||||
|
||||
|
|
|
|||
|
|
@ -779,7 +779,7 @@ static int ep_dequeue(struct bdc_ep *ep, struct bdc_req *req)
|
|||
/* The current hw dequeue pointer */
|
||||
tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS0(0));
|
||||
deq_ptr_64 = tmp_32;
|
||||
tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS0(1));
|
||||
tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS1(0));
|
||||
deq_ptr_64 |= ((u64)tmp_32 << 32);
|
||||
|
||||
/* we have the dma addr of next bd that will be fetched by hardware */
|
||||
|
|
|
|||
|
|
@ -323,6 +323,7 @@ err4:
|
|||
|
||||
err3:
|
||||
put_device(&udc->dev);
|
||||
device_del(&gadget->dev);
|
||||
|
||||
err2:
|
||||
put_device(&gadget->dev);
|
||||
|
|
|
|||
|
|
@ -1792,7 +1792,8 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci)
|
|||
int size;
|
||||
int i, j, num_ports;
|
||||
|
||||
del_timer_sync(&xhci->cmd_timer);
|
||||
if (timer_pending(&xhci->cmd_timer))
|
||||
del_timer_sync(&xhci->cmd_timer);
|
||||
|
||||
/* Free the Event Ring Segment Table and the actual Event Ring */
|
||||
size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries);
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ dma_addr_t xhci_trb_virt_to_dma(struct xhci_segment *seg,
|
|||
return 0;
|
||||
/* offset in TRBs */
|
||||
segment_offset = trb - seg->trbs;
|
||||
if (segment_offset > TRBS_PER_SEGMENT)
|
||||
if (segment_offset >= TRBS_PER_SEGMENT)
|
||||
return 0;
|
||||
return seg->dma + (segment_offset * sizeof(*trb));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1099,6 +1099,8 @@ static const struct usb_device_id option_ids[] = {
|
|||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x68c0, 0xff),
|
||||
.driver_info = (kernel_ulong_t)&sierra_mc73xx_blacklist }, /* MC73xx */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x9041, 0xff),
|
||||
.driver_info = (kernel_ulong_t)&sierra_mc73xx_blacklist }, /* MC7305/MC7355 */
|
||||
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
|
||||
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },
|
||||
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003),
|
||||
|
|
|
|||
|
|
@ -145,7 +145,6 @@ static const struct usb_device_id id_table[] = {
|
|||
{DEVICE_SWI(0x1199, 0x901c)}, /* Sierra Wireless EM7700 */
|
||||
{DEVICE_SWI(0x1199, 0x901f)}, /* Sierra Wireless EM7355 */
|
||||
{DEVICE_SWI(0x1199, 0x9040)}, /* Sierra Wireless Modem */
|
||||
{DEVICE_SWI(0x1199, 0x9041)}, /* Sierra Wireless MC7305/MC7355 */
|
||||
{DEVICE_SWI(0x1199, 0x9051)}, /* Netgear AirCard 340U */
|
||||
{DEVICE_SWI(0x1199, 0x9053)}, /* Sierra Wireless Modem */
|
||||
{DEVICE_SWI(0x1199, 0x9054)}, /* Sierra Wireless Modem */
|
||||
|
|
@ -158,6 +157,7 @@ static const struct usb_device_id id_table[] = {
|
|||
{DEVICE_SWI(0x413c, 0x81a4)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
|
||||
{DEVICE_SWI(0x413c, 0x81a8)}, /* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
|
||||
{DEVICE_SWI(0x413c, 0x81a9)}, /* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
|
||||
{DEVICE_SWI(0x413c, 0x81b1)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
|
||||
|
||||
/* Huawei devices */
|
||||
{DEVICE_HWI(0x03f0, 0x581d)}, /* HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei me906e) */
|
||||
|
|
|
|||
|
|
@ -289,6 +289,7 @@ static const struct usb_device_id id_table[] = {
|
|||
{ USB_DEVICE_AND_INTERFACE_INFO(0x1199, 0x68AA, 0xFF, 0xFF, 0xFF),
|
||||
.driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
|
||||
},
|
||||
{ USB_DEVICE(0x1199, 0x68AB) }, /* Sierra Wireless AR8550 */
|
||||
/* AT&T Direct IP LTE modems */
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(0x0F3D, 0x68AA, 0xFF, 0xFF, 0xFF),
|
||||
.driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
|
||||
|
|
|
|||
Loading…
Reference in a new issue