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.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
"Here are some small USB fixes, PHY driver fixes (they ended up in this
tree for lack of somewhere else to put them), and some new USB device
ids"

* tag 'usb-3.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
phy: omap-usb2: Balance pm_runtime_enable() on probe failure and remove
phy: core: Fix error path in phy_create()
drivers: phy: phy-samsung-usb2.c: Add missing MODULE_DEVICE_TABLE
phy: omap-usb2: fix devm_ioremap_resource error detection code
phy: sun4i: depend on RESET_CONTROLLER
USB: serial: ftdi_sio: Add Infineon Triboard
USB: ftdi_sio: Add extra PID.
usb: option: Add ID for Telewell TW-LTE 4G v2
USB: cp210x: add support for Corsair usb dongle

+28 -9
+1
drivers/phy/Kconfig
··· 112 112 config PHY_SUN4I_USB 113 113 tristate "Allwinner sunxi SoC USB PHY driver" 114 114 depends on ARCH_SUNXI && HAS_IOMEM && OF 115 + depends on RESET_CONTROLLER 115 116 select GENERIC_PHY 116 117 help 117 118 Enable this to support the transceiver that is part of Allwinner
+4 -3
drivers/phy/phy-core.c
··· 614 614 return phy; 615 615 616 616 put_dev: 617 - put_device(&phy->dev); 618 - ida_remove(&phy_ida, phy->id); 617 + put_device(&phy->dev); /* calls phy_release() which frees resources */ 618 + return ERR_PTR(ret); 619 + 619 620 free_phy: 620 621 kfree(phy); 621 622 return ERR_PTR(ret); ··· 800 799 801 800 phy = to_phy(dev); 802 801 dev_vdbg(dev, "releasing '%s'\n", dev_name(dev)); 803 - ida_remove(&phy_ida, phy->id); 802 + ida_simple_remove(&phy_ida, phy->id); 804 803 kfree(phy); 805 804 } 806 805
+7 -4
drivers/phy/phy-omap-usb2.c
··· 233 233 if (phy_data->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) { 234 234 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 235 235 phy->phy_base = devm_ioremap_resource(&pdev->dev, res); 236 - if (!phy->phy_base) 237 - return -ENOMEM; 236 + if (IS_ERR(phy->phy_base)) 237 + return PTR_ERR(phy->phy_base); 238 238 phy->flags |= OMAP_USB2_CALIBRATE_FALSE_DISCONNECT; 239 239 } 240 240 ··· 262 262 otg->phy = &phy->phy; 263 263 264 264 platform_set_drvdata(pdev, phy); 265 - pm_runtime_enable(phy->dev); 266 265 267 266 generic_phy = devm_phy_create(phy->dev, &ops, NULL); 268 267 if (IS_ERR(generic_phy)) ··· 269 270 270 271 phy_set_drvdata(generic_phy, phy); 271 272 273 + pm_runtime_enable(phy->dev); 272 274 phy_provider = devm_of_phy_provider_register(phy->dev, 273 275 of_phy_simple_xlate); 274 - if (IS_ERR(phy_provider)) 276 + if (IS_ERR(phy_provider)) { 277 + pm_runtime_disable(phy->dev); 275 278 return PTR_ERR(phy_provider); 279 + } 276 280 277 281 phy->wkupclk = devm_clk_get(phy->dev, "wkupclk"); 278 282 if (IS_ERR(phy->wkupclk)) { ··· 319 317 if (!IS_ERR(phy->optclk)) 320 318 clk_unprepare(phy->optclk); 321 319 usb_remove_phy(&phy->phy); 320 + pm_runtime_disable(phy->dev); 322 321 323 322 return 0; 324 323 }
+1
drivers/phy/phy-samsung-usb2.c
··· 107 107 #endif 108 108 { }, 109 109 }; 110 + MODULE_DEVICE_TABLE(of, samsung_usb2_phy_of_match); 110 111 111 112 static int samsung_usb2_phy_probe(struct platform_device *pdev) 112 113 {
+1
drivers/usb/serial/cp210x.c
··· 153 153 { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */ 154 154 { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */ 155 155 { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */ 156 + { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */ 156 157 { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */ 157 158 { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */ 158 159 { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
+4 -1
drivers/usb/serial/ftdi_sio.c
··· 720 720 { USB_DEVICE(FTDI_VID, FTDI_ACG_HFDUAL_PID) }, 721 721 { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, 722 722 { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) }, 723 - { USB_DEVICE(TESTO_VID, TESTO_USB_INTERFACE_PID) }, 723 + { USB_DEVICE(TESTO_VID, TESTO_1_PID) }, 724 + { USB_DEVICE(TESTO_VID, TESTO_3_PID) }, 724 725 { USB_DEVICE(FTDI_VID, FTDI_GAMMA_SCOUT_PID) }, 725 726 { USB_DEVICE(FTDI_VID, FTDI_TACTRIX_OPENPORT_13M_PID) }, 726 727 { USB_DEVICE(FTDI_VID, FTDI_TACTRIX_OPENPORT_13S_PID) }, ··· 945 944 { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_2_PID) }, 946 945 { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_3_PID) }, 947 946 { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_4_PID) }, 947 + /* Infineon Devices */ 948 + { USB_DEVICE_INTERFACE_NUMBER(INFINEON_VID, INFINEON_TRIBOARD_PID, 1) }, 948 949 { } /* Terminating entry */ 949 950 }; 950 951
+8 -1
drivers/usb/serial/ftdi_sio_ids.h
··· 584 584 #define RATOC_PRODUCT_ID_USB60F 0xb020 585 585 586 586 /* 587 + * Infineon Technologies 588 + */ 589 + #define INFINEON_VID 0x058b 590 + #define INFINEON_TRIBOARD_PID 0x0028 /* DAS JTAG TriBoard TC1798 V1.0 */ 591 + 592 + /* 587 593 * Acton Research Corp. 588 594 */ 589 595 #define ACTON_VID 0x0647 /* Vendor ID */ ··· 804 798 * Submitted by Colin Leroy 805 799 */ 806 800 #define TESTO_VID 0x128D 807 - #define TESTO_USB_INTERFACE_PID 0x0001 801 + #define TESTO_1_PID 0x0001 802 + #define TESTO_3_PID 0x0003 808 803 809 804 /* 810 805 * Mobility Electronics products.
+2
drivers/usb/serial/option.c
··· 1487 1487 .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, 1488 1488 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 0xff), /* ZTE MF91 */ 1489 1489 .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, 1490 + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1428, 0xff, 0xff, 0xff), /* Telewell TW-LTE 4G v2 */ 1491 + .driver_info = (kernel_ulong_t)&net_intf2_blacklist }, 1490 1492 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 0xff) }, 1491 1493 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 0xff) }, 1492 1494 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 0xff) },