Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'usb-3.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
"Here are none fixes for various USB driver problems. The majority are
gadget/musb fixes, but there are some new device ids in here as well"

* tag 'usb-3.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: chipidea: add Intel Clovertrail pci id
usb: gadget: s3c-hsotg: fix can_write limit for non-periodic endpoints
usb: gadget: f_fs: fix error handling
usb: musb: dsps: do not bind to "musb-hdrc"
USB: serial: option: Ignore card reader interface on Huawei E1750
usb: musb: gadget: fix otg active status flag
usb: phy: gpio-vbus: fix deferred probe from __init
usb: gadget: pxa25x_udc: fix deferred probe from __init
usb: musb: fix otg default state

+29 -13
+6 -1
drivers/usb/chipidea/ci_hdrc_pci.c
··· 129 129 PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829), 130 130 .driver_data = (kernel_ulong_t)&penwell_pci_platdata, 131 131 }, 132 - { 0, 0, 0, 0, 0, 0, 0 /* end: all zeroes */ } 132 + { 133 + /* Intel Clovertrail */ 134 + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xe006), 135 + .driver_data = (kernel_ulong_t)&penwell_pci_platdata, 136 + }, 137 + { 0 } /* end: all zeroes */ 133 138 }; 134 139 MODULE_DEVICE_TABLE(pci, ci_hdrc_pci_id_table); 135 140
+2
drivers/usb/gadget/f_fs.c
··· 2256 2256 data->raw_descs + ret, 2257 2257 (sizeof data->raw_descs) - ret, 2258 2258 __ffs_func_bind_do_descs, func); 2259 + if (unlikely(ret < 0)) 2260 + goto error; 2259 2261 } 2260 2262 2261 2263 /*
+5 -4
drivers/usb/gadget/pxa25x_udc.c
··· 2054 2054 /* 2055 2055 * probe - binds to the platform device 2056 2056 */ 2057 - static int __init pxa25x_udc_probe(struct platform_device *pdev) 2057 + static int pxa25x_udc_probe(struct platform_device *pdev) 2058 2058 { 2059 2059 struct pxa25x_udc *dev = &memory; 2060 2060 int retval, irq; ··· 2203 2203 pullup_off(); 2204 2204 } 2205 2205 2206 - static int __exit pxa25x_udc_remove(struct platform_device *pdev) 2206 + static int pxa25x_udc_remove(struct platform_device *pdev) 2207 2207 { 2208 2208 struct pxa25x_udc *dev = platform_get_drvdata(pdev); 2209 2209 ··· 2294 2294 2295 2295 static struct platform_driver udc_driver = { 2296 2296 .shutdown = pxa25x_udc_shutdown, 2297 - .remove = __exit_p(pxa25x_udc_remove), 2297 + .probe = pxa25x_udc_probe, 2298 + .remove = pxa25x_udc_remove, 2298 2299 .suspend = pxa25x_udc_suspend, 2299 2300 .resume = pxa25x_udc_resume, 2300 2301 .driver = { ··· 2304 2303 }, 2305 2304 }; 2306 2305 2307 - module_platform_driver_probe(udc_driver, pxa25x_udc_probe); 2306 + module_platform_driver(udc_driver); 2308 2307 2309 2308 MODULE_DESCRIPTION(DRIVER_DESC); 2310 2309 MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell");
+1 -1
drivers/usb/gadget/s3c-hsotg.c
··· 543 543 * FIFO, requests of >512 cause the endpoint to get stuck with a 544 544 * fragment of the end of the transfer in it. 545 545 */ 546 - if (can_write > 512) 546 + if (can_write > 512 && !periodic) 547 547 can_write = 512; 548 548 549 549 /*
+3
drivers/usb/musb/musb_dsps.c
··· 535 535 struct dsps_glue *glue; 536 536 int ret; 537 537 538 + if (!strcmp(pdev->name, "musb-hdrc")) 539 + return -ENODEV; 540 + 538 541 match = of_match_node(musb_dsps_of_match, pdev->dev.of_node); 539 542 if (!match) { 540 543 dev_err(&pdev->dev, "fail to get matching of_match struct\n");
+4 -1
drivers/usb/musb/musb_gadget.c
··· 1790 1790 musb->g.max_speed = USB_SPEED_HIGH; 1791 1791 musb->g.speed = USB_SPEED_UNKNOWN; 1792 1792 1793 + MUSB_DEV_MODE(musb); 1794 + musb->xceiv->otg->default_a = 0; 1795 + musb->xceiv->state = OTG_STATE_B_IDLE; 1796 + 1793 1797 /* this "gadget" abstracts/virtualizes the controller */ 1794 1798 musb->g.name = musb_driver_name; 1795 1799 musb->g.is_otg = 1; ··· 1853 1849 musb->gadget_driver = driver; 1854 1850 1855 1851 spin_lock_irqsave(&musb->lock, flags); 1856 - musb->is_active = 1; 1857 1852 1858 1853 otg_set_peripheral(otg, &musb->g); 1859 1854 musb->xceiv->state = OTG_STATE_B_IDLE;
+5 -6
drivers/usb/phy/phy-gpio-vbus-usb.c
··· 241 241 242 242 /* platform driver interface */ 243 243 244 - static int __init gpio_vbus_probe(struct platform_device *pdev) 244 + static int gpio_vbus_probe(struct platform_device *pdev) 245 245 { 246 246 struct gpio_vbus_mach_info *pdata = dev_get_platdata(&pdev->dev); 247 247 struct gpio_vbus_data *gpio_vbus; ··· 349 349 return err; 350 350 } 351 351 352 - static int __exit gpio_vbus_remove(struct platform_device *pdev) 352 + static int gpio_vbus_remove(struct platform_device *pdev) 353 353 { 354 354 struct gpio_vbus_data *gpio_vbus = platform_get_drvdata(pdev); 355 355 struct gpio_vbus_mach_info *pdata = dev_get_platdata(&pdev->dev); ··· 398 398 }; 399 399 #endif 400 400 401 - /* NOTE: the gpio-vbus device may *NOT* be hotplugged */ 402 - 403 401 MODULE_ALIAS("platform:gpio-vbus"); 404 402 405 403 static struct platform_driver gpio_vbus_driver = { ··· 408 410 .pm = &gpio_vbus_dev_pm_ops, 409 411 #endif 410 412 }, 411 - .remove = __exit_p(gpio_vbus_remove), 413 + .probe = gpio_vbus_probe, 414 + .remove = gpio_vbus_remove, 412 415 }; 413 416 414 - module_platform_driver_probe(gpio_vbus_driver, gpio_vbus_probe); 417 + module_platform_driver(gpio_vbus_driver); 415 418 416 419 MODULE_DESCRIPTION("simple GPIO controlled OTG transceiver driver"); 417 420 MODULE_AUTHOR("Philipp Zabel");
+3
drivers/usb/serial/option.c
··· 81 81 82 82 #define HUAWEI_VENDOR_ID 0x12D1 83 83 #define HUAWEI_PRODUCT_E173 0x140C 84 + #define HUAWEI_PRODUCT_E1750 0x1406 84 85 #define HUAWEI_PRODUCT_K4505 0x1464 85 86 #define HUAWEI_PRODUCT_K3765 0x1465 86 87 #define HUAWEI_PRODUCT_K4605 0x14C6 ··· 568 567 { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c23, USB_CLASS_COMM, 0x02, 0xff) }, 569 568 { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173, 0xff, 0xff, 0xff), 570 569 .driver_info = (kernel_ulong_t) &net_intf1_blacklist }, 570 + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1750, 0xff, 0xff, 0xff), 571 + .driver_info = (kernel_ulong_t) &net_intf2_blacklist }, 571 572 { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1441, USB_CLASS_COMM, 0x02, 0xff) }, 572 573 { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1442, USB_CLASS_COMM, 0x02, 0xff) }, 573 574 { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4505, 0xff, 0xff, 0xff),