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

* 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
Revert "USB: gadget: Allow function access to device ID data during bind()"
USB: misc: uss720.c: add another vendor/product ID
USB: usb-storage: unusual_devs entry for the Samsung YP-CP3
USB: gadget: Remove suspended sysfs file before freeing cdev
USB: core: Add input prompt and help text for USB_OTG config
USB: ftdi_sio: Add D.O.Tec PID
xhci: Fix issue with port array setup and buggy hosts.

+49 -21
+9 -1
drivers/usb/core/Kconfig
··· 107 107 If you are unsure about this, say N here. 108 108 109 109 config USB_OTG 110 - bool 110 + bool "OTG support" 111 111 depends on USB && EXPERIMENTAL 112 112 depends on USB_SUSPEND 113 113 default n 114 + help 115 + The most notable feature of USB OTG is support for a 116 + "Dual-Role" device, which can act as either a device 117 + or a host. The initial role is decided by the type of 118 + plug inserted and can be changed later when two dual 119 + role devices talk to each other. 114 120 121 + Select this only if your board has Mini-AB/Micro-AB 122 + connector. 115 123 116 124 config USB_OTG_WHITELIST 117 125 bool "Rely on OTG Targeted Peripherals List"
+9 -9
drivers/usb/gadget/composite.c
··· 1047 1047 kfree(cdev->req->buf); 1048 1048 usb_ep_free_request(gadget->ep0, cdev->req); 1049 1049 } 1050 + device_remove_file(&gadget->dev, &dev_attr_suspended); 1050 1051 kfree(cdev); 1051 1052 set_gadget_data(gadget, NULL); 1052 - device_remove_file(&gadget->dev, &dev_attr_suspended); 1053 1053 composite = NULL; 1054 1054 } 1055 1055 ··· 1107 1107 */ 1108 1108 usb_ep_autoconfig_reset(cdev->gadget); 1109 1109 1110 - /* standardized runtime overrides for device ID data */ 1111 - if (idVendor) 1112 - cdev->desc.idVendor = cpu_to_le16(idVendor); 1113 - if (idProduct) 1114 - cdev->desc.idProduct = cpu_to_le16(idProduct); 1115 - if (bcdDevice) 1116 - cdev->desc.bcdDevice = cpu_to_le16(bcdDevice); 1117 - 1118 1110 /* composite gadget needs to assign strings for whole device (like 1119 1111 * serial number), register function drivers, potentially update 1120 1112 * power state and consumption, etc ··· 1117 1125 1118 1126 cdev->desc = *composite->dev; 1119 1127 cdev->desc.bMaxPacketSize0 = gadget->ep0->maxpacket; 1128 + 1129 + /* standardized runtime overrides for device ID data */ 1130 + if (idVendor) 1131 + cdev->desc.idVendor = cpu_to_le16(idVendor); 1132 + if (idProduct) 1133 + cdev->desc.idProduct = cpu_to_le16(idProduct); 1134 + if (bcdDevice) 1135 + cdev->desc.bcdDevice = cpu_to_le16(bcdDevice); 1120 1136 1121 1137 /* stirng overrides */ 1122 1138 if (iManufacturer || !cdev->desc.iManufacturer) {
+15 -10
drivers/usb/host/xhci-mem.c
··· 1680 1680 xhci->port_array[i] = (u8) -1; 1681 1681 } 1682 1682 /* FIXME: Should we disable the port? */ 1683 + continue; 1683 1684 } 1684 1685 xhci->port_array[i] = major_revision; 1685 1686 if (major_revision == 0x03) ··· 1759 1758 return -ENOMEM; 1760 1759 1761 1760 port_index = 0; 1762 - for (i = 0; i < num_ports; i++) 1763 - if (xhci->port_array[i] != 0x03) { 1764 - xhci->usb2_ports[port_index] = 1765 - &xhci->op_regs->port_status_base + 1766 - NUM_PORT_REGS*i; 1767 - xhci_dbg(xhci, "USB 2.0 port at index %u, " 1768 - "addr = %p\n", i, 1769 - xhci->usb2_ports[port_index]); 1770 - port_index++; 1771 - } 1761 + for (i = 0; i < num_ports; i++) { 1762 + if (xhci->port_array[i] == 0x03 || 1763 + xhci->port_array[i] == 0 || 1764 + xhci->port_array[i] == -1) 1765 + continue; 1766 + 1767 + xhci->usb2_ports[port_index] = 1768 + &xhci->op_regs->port_status_base + 1769 + NUM_PORT_REGS*i; 1770 + xhci_dbg(xhci, "USB 2.0 port at index %u, " 1771 + "addr = %p\n", i, 1772 + xhci->usb2_ports[port_index]); 1773 + port_index++; 1774 + } 1772 1775 } 1773 1776 if (xhci->num_usb3_ports) { 1774 1777 xhci->usb3_ports = kmalloc(sizeof(*xhci->usb3_ports)*
+3 -1
drivers/usb/misc/uss720.c
··· 3 3 /* 4 4 * uss720.c -- USS720 USB Parport Cable. 5 5 * 6 - * Copyright (C) 1999, 2005 6 + * Copyright (C) 1999, 2005, 2010 7 7 * Thomas Sailer (t.sailer@alumni.ethz.ch) 8 8 * 9 9 * This program is free software; you can redistribute it and/or modify ··· 776 776 { USB_DEVICE(0x0557, 0x2001) }, 777 777 { USB_DEVICE(0x0729, 0x1284) }, 778 778 { USB_DEVICE(0x1293, 0x0002) }, 779 + { USB_DEVICE(0x1293, 0x0002) }, 780 + { USB_DEVICE(0x050d, 0x0002) }, 779 781 { } /* Terminating entry */ 780 782 }; 781 783
+1
drivers/usb/serial/ftdi_sio.c
··· 796 796 { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LOGBOOKML_PID) }, 797 797 { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LS_LOGBOOK_PID) }, 798 798 { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_HS_LOGBOOK_PID) }, 799 + { USB_DEVICE(FTDI_VID, FTDI_DOTEC_PID) }, 799 800 { USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID), 800 801 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, 801 802 { }, /* Optional parameter entry */
+5
drivers/usb/serial/ftdi_sio_ids.h
··· 1081 1081 #define MJSG_HD_RADIO_PID 0x937C 1082 1082 1083 1083 /* 1084 + * D.O.Tec products (http://www.directout.eu) 1085 + */ 1086 + #define FTDI_DOTEC_PID 0x9868 1087 + 1088 + /* 1084 1089 * Xverve Signalyzer tools (http://www.signalyzer.com/) 1085 1090 */ 1086 1091 #define XVERVE_SIGNALYZER_ST_PID 0xBCA0
+7
drivers/usb/storage/unusual_devs.h
··· 481 481 USB_SC_DEVICE, USB_PR_DEVICE, NULL, 482 482 US_FL_MAX_SECTORS_64), 483 483 484 + /* Reported by Vitaly Kuznetsov <vitty@altlinux.ru> */ 485 + UNUSUAL_DEV( 0x04e8, 0x5122, 0x0000, 0x9999, 486 + "Samsung", 487 + "YP-CP3", 488 + USB_SC_DEVICE, USB_PR_DEVICE, NULL, 489 + US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG), 490 + 484 491 /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 485 492 * Device uses standards-violating 32-byte Bulk Command Block Wrappers and 486 493 * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011.