projects/linux·commit 9fc37779

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

9fc37779 · Linus Torvalds <[email protected]> · 2012-07-26 10:23:47 -07:00

Pull USB patches from Greg Kroah-Hartman:
 "Here's the big USB patch set for the 3.6-rc1 merge window.

  Lots of little changes in here, primarily for gadget controllers and
  drivers.  There's some scsi changes that I think also went in through
  the scsi tree, but they merge just fine.  All of these patches have
  been in the linux-next tree for a while now.

  Signed-off-by: Greg Kroah-Hartman <[email protected]>"

Fix up trivial conflicts in include/scsi/scsi_device.h (same libata
conflict that Jeff had already encountered)

* tag 'usb-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (207 commits)
  usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
  usb: Add quirk detection based on interface information
  usb: s3c-hsotg: Add header file protection macros in s3c-hsotg.h
  USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer
  USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
  USB: notify phy when root hub port connect change
  USB: remove 8 bytes of padding from usb_host_interface on 64 bit builds
  USB: option: add ZTE MF821D
  USB: sierra: QMI mode MC7710 moved to qcserial
  USB: qcserial: adding Sierra Wireless devices
  USB: qcserial: support generic Qualcomm serial ports
  USB: qcserial: make probe more flexible
  USB: qcserial: centralize probe exit path
  USB: qcserial: consolidate usb_set_interface calls
  USB: ehci-s5p: Add support for device tree
  USB: ohci-exynos: Add support for device tree
  USB: ehci-omap: fix compile failure(v1)
  usb: host: tegra: pass correct pointer in ehci_setup()
  USB: ehci-fsl: Update ifdef check to work on 64-bit ppc
  USB: serial: keyspan: Removed unrequired parentheses.
  ...
Commit
9fc377799bc9bfd8d5cb35d0d1ea2e2458cbdbb3
Parents
5e23ae49 · e387ef5c

Merge commit. Changes below are compared with the first parent: 5e23ae49.

Changes

159 files changed · +8026 −4109

FileStatusAddDelContent
Documentation/ABI/testing/sysfs-bus-usbmodified+12−0View file
Documentation/devicetree/bindings/usb/ci13xxx-imx.txtadded+18−0View file
Documentation/devicetree/bindings/usb/mxs-phy.txtadded+13−0View file
Documentation/usb/mass-storage.txtadded+226−0View file
arch/arm/mach-omap2/clock3xxx_data.cmodified+7−7View file
drivers/power/ab8500_charger.cmodified+4−4View file
drivers/power/isp1704_charger.cmodified+4−4View file
drivers/power/pda_power.cmodified+11−11View file
drivers/power/twl4030_charger.cmodified+7−6View file
drivers/usb/chipidea/Kconfigmodified+1−0View file
drivers/usb/chipidea/Makefilemodified+7−2View file
drivers/usb/chipidea/ci.hmodified+17−15View file
drivers/usb/chipidea/ci13xxx_imx.cadded+198−0View file
drivers/usb/chipidea/ci13xxx_msm.cmodified+26−37View file
drivers/usb/chipidea/ci13xxx_pci.cmodified+15−37View file
drivers/usb/chipidea/core.cmodified+64−6View file
drivers/usb/chipidea/debug.cmodified+73−73View file
drivers/usb/chipidea/host.cmodified+2−1View file
drivers/usb/chipidea/udc.cmodified+318−317View file
drivers/usb/class/cdc-acm.cmodified+1−1View file
drivers/usb/class/cdc-wdm.cmodified+0−25View file
drivers/usb/core/devio.cmodified+140−29View file
drivers/usb/core/driver.cmodified+31−17View file
drivers/usb/core/file.cmodified+1−1View file
drivers/usb/core/hcd.cmodified+9−1View file
drivers/usb/core/hub.cmodified+110−29View file
drivers/usb/core/message.cmodified+11−5View file
drivers/usb/core/quirks.cmodified+88−63View file
drivers/usb/core/sysfs.cmodified+13−2View file
drivers/usb/core/usb.cmodified+1−0View file
drivers/usb/core/usb.hmodified+10−3View file
drivers/usb/dwc3/core.cmodified+10−3View file
drivers/usb/dwc3/core.hmodified+83−24View file
drivers/usb/dwc3/dwc3-exynos.cmodified+0−1View file
drivers/usb/dwc3/ep0.cmodified+92−54View file
drivers/usb/dwc3/gadget.cmodified+217−148View file
drivers/usb/dwc3/gadget.hmodified+6−0View file
drivers/usb/early/ehci-dbgp.cmodified+1−1View file
drivers/usb/gadget/Kconfigmodified+9−0View file
drivers/usb/gadget/Makefilemodified+1−0View file
drivers/usb/gadget/acm_ms.cmodified+1−0View file
drivers/usb/gadget/at91_udc.cmodified+1−0View file
drivers/usb/gadget/composite.cmodified+5−2View file
drivers/usb/gadget/f_fs.cmodified+7−0View file
drivers/usb/gadget/f_hid.cmodified+165−43View file
drivers/usb/gadget/f_mass_storage.cmodified+31−102View file
drivers/usb/gadget/f_uvc.cmodified+241−46View file
drivers/usb/gadget/f_uvc.hmodified+5−3View file
drivers/usb/gadget/fsl_mxc_udc.cmodified+31−43View file
drivers/usb/gadget/fsl_udc_core.cmodified+10−8View file
drivers/usb/gadget/imx_udc.cmodified+3−3View file
drivers/usb/gadget/lpc32xx_udc.cmodified+25−60View file
drivers/usb/gadget/mv_u3d.hadded+320−0View file
drivers/usb/gadget/mv_u3d_core.cadded+2098−0View file
drivers/usb/gadget/mv_udc_core.cmodified+8−7View file
drivers/usb/gadget/omap_udc.cmodified+181−253View file
drivers/usb/gadget/pch_udc.cmodified+1−1View file
drivers/usb/gadget/pxa25x_udc.cmodified+9−8View file
drivers/usb/gadget/pxa27x_udc.cmodified+8−7View file
drivers/usb/gadget/s3c-hsotg.cmodified+110−105View file
drivers/usb/gadget/s3c-hsudc.cmodified+7−6View file
drivers/usb/gadget/storage_common.cmodified+29−34View file
drivers/usb/gadget/u_ether.cmodified+6−6View file
drivers/usb/gadget/uvc.hmodified+3−1View file
drivers/usb/gadget/webcam.cmodified+25−4View file
drivers/usb/host/Kconfigmodified+2−2View file
drivers/usb/host/ehci-atmel.cmodified+2−17View file
drivers/usb/host/ehci-au1xxx.cmodified+8−79View file
drivers/usb/host/ehci-cns3xxx.cmodified+1−5View file
drivers/usb/host/ehci-dbg.cmodified+14−10View file
drivers/usb/host/ehci-fsl.cmodified+13−29View file
drivers/usb/host/ehci-grlib.cmodified+2−13View file
drivers/usb/host/ehci-hcd.cmodified+226−286View file
drivers/usb/host/ehci-hub.cmodified+71−58View file
drivers/usb/host/ehci-ixp4xx.cmodified+1−5View file
drivers/usb/host/ehci-mem.cmodified+3−22View file
drivers/usb/host/ehci-msm.cmodified+7−20View file
drivers/usb/host/ehci-mv.cmodified+11−25View file
drivers/usb/host/ehci-mxc.cmodified+1−16View file
drivers/usb/host/ehci-octeon.cmodified+1−7View file
drivers/usb/host/ehci-omap.cmodified+59−55View file
drivers/usb/host/ehci-orion.cmodified+1−16View file
drivers/usb/host/ehci-pci.cmodified+82−156View file
drivers/usb/host/ehci-platform.cmodified+3−4View file
drivers/usb/host/ehci-pmcmsp.cmodified+2−15View file
drivers/usb/host/ehci-ppc-of.cmodified+1−24View file
drivers/usb/host/ehci-ps3.cmodified+1−17View file
drivers/usb/host/ehci-q.cmodified+177−134View file
drivers/usb/host/ehci-s5p.cmodified+54−81View file
drivers/usb/host/ehci-sched.cmodified+195−357View file
drivers/usb/host/ehci-sead3.cmodified+3−71View file
drivers/usb/host/ehci-sh.cmodified+1−15View file
drivers/usb/host/ehci-spear.cmodified+4−67View file
drivers/usb/host/ehci-tegra.cmodified+10−26View file
drivers/usb/host/ehci-timer.cadded+401−0View file
drivers/usb/host/ehci-vt8500.cmodified+1−13View file
drivers/usb/host/ehci-w90x900.cmodified+1−8View file
drivers/usb/host/ehci-xilinx-of.cmodified+1−30View file
drivers/usb/host/ehci-xls.cmodified+1−20View file
drivers/usb/host/ehci.hmodified+75−63View file
drivers/usb/host/fhci-dbg.cmodified+6−6View file
drivers/usb/host/fhci-hcd.cmodified+16−16View file
drivers/usb/host/fhci-hub.cmodified+8−8View file
drivers/usb/host/fhci-sched.cmodified+15−15View file
drivers/usb/host/fhci-tds.cmodified+7−7View file
drivers/usb/host/fhci.hmodified+2−20View file
drivers/usb/host/imx21-hcd.cmodified+3−3View file
drivers/usb/host/ohci-exynos.cmodified+33−13View file
drivers/usb/host/ohci-nxp.cmodified+55−33View file
drivers/usb/host/ohci-omap.cmodified+15−13View file
drivers/usb/host/ohci.hmodified+0−5View file
drivers/usb/host/xhci-hub.cmodified+6−0View file
drivers/usb/host/xhci.cmodified+2−0View file
drivers/usb/musb/am35x.cmodified+4−3View file
drivers/usb/musb/blackfin.cmodified+4−3View file
drivers/usb/musb/da8xx.cmodified+4−3View file
drivers/usb/musb/davinci.cmodified+5−4View file
drivers/usb/musb/musb_core.cmodified+1−1View file
drivers/usb/musb/musb_core.hmodified+0−2View file
drivers/usb/musb/musb_dsps.cmodified+5−4View file
drivers/usb/musb/musb_gadget.cmodified+14−0View file
drivers/usb/musb/musb_host.cmodified+5−1View file
drivers/usb/musb/omap2430.cmodified+77−47View file
drivers/usb/musb/tusb6010.cmodified+5−4View file
drivers/usb/musb/ux500.cmodified+4−3View file
drivers/usb/otg/Kconfigmodified+10−0View file
drivers/usb/otg/Makefilemodified+1−0View file
drivers/usb/otg/ab8500-usb.cmodified+2−2View file
drivers/usb/otg/fsl_otg.cmodified+3−3View file
drivers/usb/otg/gpio_vbus.cmodified+2−2View file
drivers/usb/otg/isp1301_omap.cmodified+10−9View file
drivers/usb/otg/msm_otg.cmodified+3−3View file
drivers/usb/otg/mv_otg.cmodified+3−3View file
drivers/usb/otg/mxs-phy.cadded+186−0View file
drivers/usb/otg/nop-usb-xceiv.cmodified+2−2View file
drivers/usb/otg/otg.cmodified+158−23View file
drivers/usb/otg/twl4030-usb.cmodified+28−45View file
drivers/usb/otg/twl6030-usb.cmodified+25−46View file
drivers/usb/renesas_usbhs/fifo.cmodified+3−11View file
drivers/usb/serial/keyspan.cmodified+13−18View file
drivers/usb/serial/option.cmodified+58−32View file
drivers/usb/serial/qcserial.cmodified+71−54View file
drivers/usb/serial/quatech2.cmodified+0−4View file
drivers/usb/serial/sierra.cmodified+0−3View file
drivers/usb/storage/protocol.cmodified+3−3View file
drivers/usb/storage/uas.cmodified+249−173View file
include/linux/mod_devicetable.hmodified+9−1View file
include/linux/platform_data/s3c-hsotg.hmodified+5−0View file
include/linux/usb.hmodified+56−3View file
include/linux/usb/chipidea.hmodified+12−2View file
include/linux/usb/ehci_def.hmodified+21−7View file
include/linux/usb/hcd.hmodified+6−0View file
include/linux/usb/musb-omap.hadded+30−0View file
include/linux/usb/otg.hmodified+62−5View file
include/linux/usb/renesas_usbhs.hmodified+8−0View file
include/linux/usb/uas.hmodified+40−0View file
include/linux/usbdevice_fs.hmodified+8−0View file
scripts/mod/file2alias.cmodified+4−1View file
tools/usb/testusb.cmodified+16−5View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/ABI/testing/sysfs-bus-usb

View file
diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb
index 6df4e6f..5f75f8f 100644
--- a/Documentation/ABI/testing/sysfs-bus-usb
+++ b/Documentation/ABI/testing/sysfs-bus-usb
@@ -208,3 +208,15 @@ Description:
such as ACPI. This file will read either "removable" or
"fixed" if the information is available, and "unknown"
otherwise.
+
+What: /sys/bus/usb/devices/.../ltm_capable
+Date: July 2012
+Contact: Sarah Sharp <[email protected]>
+Description:
+ USB 3.0 devices may optionally support Latency Tolerance
+ Messaging (LTM). They indicate their support by setting a bit
+ in the bmAttributes field of their SuperSpeed BOS descriptors.
+ If that bit is set for the device, ltm_capable will read "yes".
+ If the device doesn't support LTM, the file will read "no".
+ The file will be present for all speeds of USB devices, and will
+ always read "no" for USB 1.1 and USB 2.0 devices.

Documentation/devicetree/bindings/usb/ci13xxx-imx.txt

View file
diff --git a/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt b/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt
new file mode 100644
index 0000000..2c29041
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt
@@ -0,0 +1,18 @@
+* Freescale i.MX ci13xxx usb controllers
+
+Required properties:
+- compatible: Should be "fsl,imx27-usb"
+- reg: Should contain registers location and length
+- interrupts: Should contain controller interrupt
+
+Optional properties:
+- fsl,usbphy: phandler of usb phy that connects to the only one port
+- vbus-supply: regulator for vbus
+
+Examples:
+usb@02184000 { /* USB OTG */
+ compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
+ reg = <0x02184000 0x200>;
+ interrupts = <0 43 0x04>;
+ fsl,usbphy = <&usbphy1>;
+};

Documentation/devicetree/bindings/usb/mxs-phy.txt

View file
diff --git a/Documentation/devicetree/bindings/usb/mxs-phy.txt b/Documentation/devicetree/bindings/usb/mxs-phy.txt
new file mode 100644
index 0000000..5835b27
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/mxs-phy.txt
@@ -0,0 +1,13 @@
+* Freescale MXS USB Phy Device
+
+Required properties:
+- compatible: Should be "fsl,imx23-usbphy"
+- reg: Should contain registers location and length
+- interrupts: Should contain phy interrupt
+
+Example:
+usbphy1: usbphy@020c9000 {
+ compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
+ reg = <0x020c9000 0x1000>;
+ interrupts = <0 44 0x04>;
+};

Documentation/usb/mass-storage.txt

View file
diff --git a/Documentation/usb/mass-storage.txt b/Documentation/usb/mass-storage.txt
new file mode 100644
index 0000000..e9b9334
--- /dev/null
+++ b/Documentation/usb/mass-storage.txt
@@ -0,0 +1,226 @@
+* Overview
+
+ Mass Storage Gadget (or MSG) acts as a USB Mass Storage device,
+ appearing to the host as a disk or a CD-ROM drive. It supports
+ multiple logical units (LUNs). Backing storage for each LUN is
+ provided by a regular file or a block device, access can be limited
+ to read-only, and gadget can indicate that it is removable and/or
+ CD-ROM (the latter implies read-only access).
+
+ Its requirements are modest; only a bulk-in and a bulk-out endpoint
+ are needed. The memory requirement amounts to two 16K buffers.
+ Support is included for full-speed, high-speed and SuperSpeed
+ operation.
+
+ Note that the driver is slightly non-portable in that it assumes
+ a single memory/DMA buffer will be useable for bulk-in and bulk-out
+ endpoints. With most device controllers this is not an issue, but
+ there may be some with hardware restrictions that prevent a buffer
+ from being used by more than one endpoint.
+
+ This document describes how to use the gadget from user space, its
+ relation to mass storage function (or MSF) and different gadgets
+ using it, and how it differs from File Storage Gadget (or FSG). It
+ will talk only briefly about how to use MSF within composite
+ gadgets.
+
+* Module parameters
+
+ The mass storage gadget accepts the following mass storage specific
+ module parameters:
+
+ - file=filename[,filename...]
+
+ This parameter lists paths to files or block devices used for
+ backing storage for each logical unit. There may be at most
+ FSG_MAX_LUNS (8) LUNs set. If more files are specified, they will
+ be silently ignored. See also “luns” parameter.
+
+ *BEWARE* that if a file is used as a backing storage, it may not
+ be modified by any other process. This is because the host
+ assumes the data does not change without its knowledge. It may be
+ read, but (if the logical unit is writable) due to buffering on
+ the host side, the contents are not well defined.
+
+ The size of the logical unit will be rounded down to a full
+ logical block. The logical block size is 2048 bytes for LUNs
+ simulating CD-ROM, block size of the device if the backing file is
+ a block device, or 512 bytes otherwise.
+
+ - removable=b[,b...]
+
+ This parameter specifies whether each logical unit should be
+ removable. “b” here is either “y”, “Y” or “1” for true or “n”,
+ “N” or “0” for false.
+
+ If this option is set for a logical unit, gadget will accept an
+ “eject” SCSI request (Start/Stop Unit). When it is sent, the
+ backing file will be closed to simulate ejection and the logical
+ unit will not be mountable by the host until a new backing file is
+ specified by userspace on the device (see “sysfs entries”
+ section).
+
+ If a logical unit is not removable (the default), a backing file
+ must be specified for it with the “file” parameter as the module
+ is loaded. The same applies if the module is built in, no
+ exceptions.
+
+ The default value of the flag is false, *HOWEVER* it used to be
+ true. This has been changed to better match File Storage Gadget
+ and because it seems like a saner default after all. Thus to
+ maintain compatibility with older kernels, it's best to specify
+ the default values. Also, if one relied on old default, explicit
+ “n” needs to be specified now.
+
+ Note that “removable” means the logical unit's media can be
+ ejected or removed (as is true for a CD-ROM drive or a card
+ reader). It does *not* mean that the entire gadget can be
+ unplugged from the host; the proper term for that is
+ “hot-unpluggable”.
+
+ - cdrom=b[,b...]
+
+ This parameter specifies whether each logical unit should simulate
+ CD-ROM. The default is false.
+
+ - ro=b[,b...]
+
+ This parameter specifies whether each logical unit should be
+ reported as read only. This will prevent host from modifying the
+ backing files.
+
+ Note that if this flag for given logical unit is false but the
+ backing file could not be opened in read/write mode, the gadget
+ will fall back to read only mode anyway.
+
+ The default value for non-CD-ROM logical units is false; for
+ logical units simulating CD-ROM it is forced to true.
+
+ - nofua=b[,b...]
+
+ This parameter specifies whether FUA flag should be ignored in SCSI
+ Write10 and Write12 commands sent to given logical units.
+
+ MS Windows mounts removable storage in “Removal optimised mode” by
+ default. All the writes to the media are synchronous, which is
+ achieved by setting the FUA (Force Unit Access) bit in SCSI
+ Write(10,12) commands. This forces each write to wait until the
+ data has actually been written out and prevents I/O requests
+ aggregation in block layer dramatically decreasing performance.
+
+ Note that this may mean that if the device is powered from USB and
+ the user unplugs the device without unmounting it first (which at
+ least some Windows users do), the data may be lost.
+
+ The default value is false.
+
+ - luns=N
+
+ This parameter specifies number of logical units the gadget will
+ have. It is limited by FSG_MAX_LUNS (8) and higher value will be
+ capped.
+
+ If this parameter is provided, and the number of files specified
+ in “file” argument is greater then the value of “luns”, all excess
+ files will be ignored.
+
+ If this parameter is not present, the number of logical units will
+ be deduced from the number of files specified in the “file”
+ parameter. If the file parameter is missing as well, one is
+ assumed.
+
+ - stall=b
+
+ Specifies whether the gadget is allowed to halt bulk endpoints.
+ The default is determined according to the type of USB device
+ controller, but usually true.
+
+ In addition to the above, the gadget also accepts the following
+ parameters defined by the composite framework (they are common to
+ all composite gadgets so just a quick listing):
+
+ - idVendor -- USB Vendor ID (16 bit integer)
+ - idProduct -- USB Product ID (16 bit integer)
+ - bcdDevice -- USB Device version (BCD) (16 bit integer)
+ - iManufacturer -- USB Manufacturer string (string)
+ - iProduct -- USB Product string (string)
+ - iSerialNumber -- SerialNumber string (sting)
+
+* sysfs entries
+
+ For each logical unit, the gadget creates a directory in the sysfs
+ hierarchy. Inside of it the following three files are created:
+
+ - file
+
+ When read it returns the path to the backing file for the given
+ logical unit. If there is no backing file (possible only if the
+ logical unit is removable), the content is empty.
+
+ When written into, it changes the backing file for given logical
+ unit. This change can be performed even if given logical unit is
+ not specified as removable (but that may look strange to the
+ host). It may fail, however, if host disallowed medium removal
+ with the Prevent-Allow Medium Removal SCSI command.
+
+ - ro
+
+ Reflects the state of ro flag for the given logical unit. It can
+ be read any time, and written to when there is no backing file
+ open for given logical unit.
+
+ - nofua
+
+ Reflects the state of nofua flag for given logical unit. It can
+ be read and written.
+
+ Other then those, as usual, the values of module parameters can be
+ read from /sys/module/g_mass_storage/parameters/* files.
+
+* Other gadgets using mass storage function
+
+ The Mass Storage Gadget uses the Mass Storage Function to handle
+ mass storage protocol. As a composite function, MSF may be used by
+ other gadgets as well (eg. g_multi and acm_ms).
+
+ All of the information in previous sections are valid for other
+ gadgets using MSF, except that support for mass storage related
+ module parameters may be missing, or the parameters may have
+ a prefix. To figure out whether any of this is true one needs to
+ consult the gadget's documentation or its source code.
+
+ For examples of how to include mass storage function in gadgets, one
+ may take a look at mass_storage.c, acm_ms.c and multi.c (sorted by
+ complexity).
+
+* Relation to file storage gadget
+
+ The Mass Storage Function and thus the Mass Storage Gadget has been
+ based on the File Storage Gadget. The difference between the two is
+ that MSG is a composite gadget (ie. uses the composite framework)
+ while file storage gadget is a traditional gadget. From userspace
+ point of view this distinction does not really matter, but from
+ kernel hacker's point of view, this means that (i) MSG does not
+ duplicate code needed for handling basic USB protocol commands and
+ (ii) MSF can be used in any other composite gadget.
+
+ Because of that, File Storage Gadget has been deprecated and
+ scheduled to be removed in Linux 3.8. All users need to transition
+ to the Mass Storage Gadget by that time. The two gadgets behave
+ mostly the same from the outside except:
+
+ 1. In FSG the “removable” and “cdrom” module parameters set the flag
+ for all logical units whereas in MSG they accept a list of y/n
+ values for each logical unit. If one uses only a single logical
+ unit this does not matter, but if there are more, the y/n value
+ needs to be repeated for each logical unit.
+
+ 2. FSG's “serial”, “vendor”, “product” and “release” module
+ parameters are handled in MSG by the composite layer's parameters
+ named respectively: “iSerialnumber”, “idVendor”, “idProduct” and
+ “bcdDevice”.
+
+ 3. MSG does not support FSG's test mode, thus “transport”,
+ “protocol” and “buflen” FSG's module parameters are not
+ supported. MSG always uses SCSI protocol with bulk only
+ transport mode and 16 KiB buffers.

arch/arm/mach-omap2/clock3xxx_data.c

View file
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
index 91b3d5c..83bed9a 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -3376,15 +3376,15 @@ static struct omap_clk omap3xxx_clks[] = {
CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
CLK("usbhs_omap", "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
- CLK("usbhs_omap", "utmi_p1_gfclk", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "utmi_p2_gfclk", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "xclk60mhsp1_ck", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "xclk60mhsp2_ck", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "utmi_p1_gfclk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "utmi_p2_gfclk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "xclk60mhsp1_ck", &dummy_ck, CK_3XXX),
+ CLK(NULL, "xclk60mhsp2_ck", &dummy_ck, CK_3XXX),
+ CLK(NULL, "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX),
CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX),
CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX),
- CLK("usbhs_omap", "init_60m_fclk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "init_60m_fclk", &dummy_ck, CK_3XXX),
CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2PLUS | CK_36XX),
CLK(NULL, "gpt1_fck", &gpt1_fck, CK_3XXX),
CLK(NULL, "wkup_32k_fck", &wkup_32k_fck, CK_3XXX),

drivers/power/ab8500_charger.c

View file
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
index d2303d0..d4f0c98 100644
--- a/drivers/power/ab8500_charger.c
+++ b/drivers/power/ab8500_charger.c
@@ -2517,7 +2517,7 @@ static int __devexit ab8500_charger_remove(struct platform_device *pdev)
dev_err(di->dev, "%s mask and set failed\n", __func__);
usb_unregister_notifier(di->usb_phy, &di->nb);
- usb_put_transceiver(di->usb_phy);
+ usb_put_phy(di->usb_phy);
/* Delete the work queue */
destroy_workqueue(di->charger_wq);
@@ -2688,8 +2688,8 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev)
goto free_ac;
}
- di->usb_phy = usb_get_transceiver();
- if (!di->usb_phy) {
+ di->usb_phy = usb_get_phy(USB_PHY_TYPE_USB2);
+ if (IS_ERR_OR_NULL(di->usb_phy)) {
dev_err(di->dev, "failed to get usb transceiver\n");
ret = -EINVAL;
goto free_usb;
@@ -2747,7 +2747,7 @@ free_irq:
free_irq(irq, di);
}
put_usb_phy:
- usb_put_transceiver(di->usb_phy);
+ usb_put_phy(di->usb_phy);
free_usb:
power_supply_unregister(&di->usb_chg.psy);
free_ac:

drivers/power/isp1704_charger.c

View file
diff --git a/drivers/power/isp1704_charger.c b/drivers/power/isp1704_charger.c
index e5ccd29..1229119 100644
--- a/drivers/power/isp1704_charger.c
+++ b/drivers/power/isp1704_charger.c
@@ -415,8 +415,8 @@ static int __devinit isp1704_charger_probe(struct platform_device *pdev)
if (!isp)
return -ENOMEM;
- isp->phy = usb_get_transceiver();
- if (!isp->phy)
+ isp->phy = usb_get_phy(USB_PHY_TYPE_USB2);
+ if (IS_ERR_OR_NULL(isp->phy))
goto fail0;
isp->dev = &pdev->dev;
@@ -475,7 +475,7 @@ fail2:
power_supply_unregister(&isp->psy);
fail1:
isp1704_charger_set_power(isp, 0);
- usb_put_transceiver(isp->phy);
+ usb_put_phy(isp->phy);
fail0:
kfree(isp);
@@ -490,7 +490,7 @@ static int __devexit isp1704_charger_remove(struct platform_device *pdev)
usb_unregister_notifier(isp->phy, &isp->nb);
power_supply_unregister(&isp->psy);
- usb_put_transceiver(isp->phy);
+ usb_put_phy(isp->phy);
isp1704_charger_set_power(isp, 0);
kfree(isp);

drivers/power/pda_power.c

View file
diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index 214468f..8dbcd53 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -321,12 +321,12 @@ static int pda_power_probe(struct platform_device *pdev)
}
#ifdef CONFIG_USB_OTG_UTILS
- transceiver = usb_get_transceiver();
- if (transceiver && !pdata->is_usb_online) {
- pdata->is_usb_online = otg_is_usb_online;
- }
- if (transceiver && !pdata->is_ac_online) {
- pdata->is_ac_online = otg_is_ac_online;
+ transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
+ if (!IS_ERR_OR_NULL(transceiver)) {
+ if (!pdata->is_usb_online)
+ pdata->is_usb_online = otg_is_usb_online;
+ if (!pdata->is_ac_online)
+ pdata->is_ac_online = otg_is_ac_online;
}
#endif
@@ -373,7 +373,7 @@ static int pda_power_probe(struct platform_device *pdev)
}
#ifdef CONFIG_USB_OTG_UTILS
- if (transceiver && pdata->use_otg_notifier) {
+ if (!IS_ERR_OR_NULL(transceiver) && pdata->use_otg_notifier) {
otg_nb.notifier_call = otg_handle_notification;
ret = usb_register_notifier(transceiver, &otg_nb);
if (ret) {
@@ -408,8 +408,8 @@ usb_supply_failed:
if (pdata->is_ac_online && ac_irq)
free_irq(ac_irq->start, &pda_psy_ac);
#ifdef CONFIG_USB_OTG_UTILS
- if (transceiver)
- usb_put_transceiver(transceiver);
+ if (!IS_ERR_OR_NULL(transceiver))
+ usb_put_phy(transceiver);
#endif
ac_irq_failed:
if (pdata->is_ac_online)
@@ -443,8 +443,8 @@ static int pda_power_remove(struct platform_device *pdev)
if (pdata->is_ac_online)
power_supply_unregister(&pda_psy_ac);
#ifdef CONFIG_USB_OTG_UTILS
- if (transceiver)
- usb_put_transceiver(transceiver);
+ if (!IS_ERR_OR_NULL(transceiver))
+ usb_put_phy(transceiver);
#endif
if (ac_draw) {
regulator_put(ac_draw);

drivers/power/twl4030_charger.c

View file
diff --git a/drivers/power/twl4030_charger.c b/drivers/power/twl4030_charger.c
index fdad850..7cacbaa 100644
--- a/drivers/power/twl4030_charger.c
+++ b/drivers/power/twl4030_charger.c
@@ -15,6 +15,7 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
+#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/i2c/twl.h>
@@ -479,8 +480,8 @@ static int __init twl4030_bci_probe(struct platform_device *pdev)
INIT_WORK(&bci->work, twl4030_bci_usb_work);
- bci->transceiver = usb_get_transceiver();
- if (bci->transceiver != NULL) {
+ bci->transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
+ if (!IS_ERR_OR_NULL(bci->transceiver)) {
bci->usb_nb.notifier_call = twl4030_bci_usb_ncb;
usb_register_notifier(bci->transceiver, &bci->usb_nb);
}
@@ -507,9 +508,9 @@ static int __init twl4030_bci_probe(struct platform_device *pdev)
return 0;
fail_unmask_interrupts:
- if (bci->transceiver != NULL) {
+ if (!IS_ERR_OR_NULL(bci->transceiver)) {
usb_unregister_notifier(bci->transceiver, &bci->usb_nb);
- usb_put_transceiver(bci->transceiver);
+ usb_put_phy(bci->transceiver);
}
free_irq(bci->irq_bci, bci);
fail_bci_irq:
@@ -538,9 +539,9 @@ static int __exit twl4030_bci_remove(struct platform_device *pdev)
twl_i2c_write_u8(TWL4030_MODULE_INTERRUPTS, 0xff,
TWL4030_INTERRUPTS_BCIIMR2A);
- if (bci->transceiver != NULL) {
+ if (!IS_ERR_OR_NULL(bci->transceiver)) {
usb_unregister_notifier(bci->transceiver, &bci->usb_nb);
- usb_put_transceiver(bci->transceiver);
+ usb_put_phy(bci->transceiver);
}
free_irq(bci->irq_bci, bci);
free_irq(bci->irq_chg, bci);

drivers/usb/chipidea/Kconfig

View file
diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig
index fd36dc8..8337fb5 100644
--- a/drivers/usb/chipidea/Kconfig
+++ b/drivers/usb/chipidea/Kconfig
@@ -20,6 +20,7 @@ config USB_CHIPIDEA_UDC
config USB_CHIPIDEA_HOST
bool "ChipIdea host controller"
+ select USB_EHCI_ROOT_HUB_TT
help
Say Y here to enable host controller functionality of the
ChipIdea driver.

drivers/usb/chipidea/Makefile

View file
diff --git a/drivers/usb/chipidea/Makefile b/drivers/usb/chipidea/Makefile
index cc34937..5c66d9c 100644
--- a/drivers/usb/chipidea/Makefile
+++ b/drivers/usb/chipidea/Makefile
@@ -5,10 +5,15 @@ ci_hdrc-$(CONFIG_USB_CHIPIDEA_UDC) += udc.o
ci_hdrc-$(CONFIG_USB_CHIPIDEA_HOST) += host.o
ci_hdrc-$(CONFIG_USB_CHIPIDEA_DEBUG) += debug.o
+# Glue/Bridge layers go here
+
+obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_msm.o
+
+# PCI doesn't provide stubs, need to check
ifneq ($(CONFIG_PCI),)
obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_pci.o
endif
-ifneq ($(CONFIG_ARCH_MSM),)
- obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_msm.o
+ifneq ($(CONFIG_OF_DEVICE),)
+ obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_imx.o
endif

drivers/usb/chipidea/ci.h

View file
diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h
index 50911f8..d738603 100644
--- a/drivers/usb/chipidea/ci.h
+++ b/drivers/usb/chipidea/ci.h
@@ -36,7 +36,7 @@
* @name: string description of the endpoint
* @qh: queue head for this endpoint
* @wedge: is the endpoint wedged
- * @udc: pointer to the controller
+ * @ci: pointer to the controller
* @lock: pointer to controller's spinlock
* @td_pool: pointer to controller's TD pool
*/
@@ -54,7 +54,7 @@ struct ci13xxx_ep {
int wedge;
/* global resources */
- struct ci13xxx *udc;
+ struct ci13xxx *ci;
spinlock_t *lock;
struct dma_pool *td_pool;
};
@@ -125,7 +125,7 @@ struct hw_bank {
* @remote_wakeup: host-enabled remote wakeup
* @suspended: suspended by host
* @test_mode: the selected test mode
- * @udc_driver: platform specific information supplied by parent device
+ * @platdata: platform specific information supplied by parent device
* @vbus_active: is VBUS active
* @transceiver: pointer to USB PHY, if any
* @hcd: pointer to usb_hcd for ehci host driver
@@ -158,8 +158,10 @@ struct ci13xxx {
u8 suspended;
u8 test_mode;
- struct ci13xxx_udc_driver *udc_driver;
+ struct ci13xxx_platform_data *platdata;
int vbus_active;
+ /* FIXME: some day, we'll not use global phy */
+ bool global_phy;
struct usb_phy *transceiver;
struct usb_hcd *hcd;
};
@@ -250,9 +252,9 @@ static inline int ffs_nr(u32 x)
*
* This function returns register contents
*/
-static inline u32 hw_read(struct ci13xxx *udc, enum ci13xxx_regs reg, u32 mask)
+static inline u32 hw_read(struct ci13xxx *ci, enum ci13xxx_regs reg, u32 mask)
{
- return ioread32(udc->hw_bank.regmap[reg]) & mask;
+ return ioread32(ci->hw_bank.regmap[reg]) & mask;
}
/**
@@ -261,14 +263,14 @@ static inline u32 hw_read(struct ci13xxx *udc, enum ci13xxx_regs reg, u32 mask)
* @mask: bitfield mask
* @data: new value
*/
-static inline void hw_write(struct ci13xxx *udc, enum ci13xxx_regs reg,
+static inline void hw_write(struct ci13xxx *ci, enum ci13xxx_regs reg,
u32 mask, u32 data)
{
if (~mask)
- data = (ioread32(udc->hw_bank.regmap[reg]) & ~mask)
+ data = (ioread32(ci->hw_bank.regmap[reg]) & ~mask)
| (data & mask);
- iowrite32(data, udc->hw_bank.regmap[reg]);
+ iowrite32(data, ci->hw_bank.regmap[reg]);
}
/**
@@ -278,12 +280,12 @@ static inline void hw_write(struct ci13xxx *udc, enum ci13xxx_regs reg,
*
* This function returns register contents
*/

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/ci13xxx_imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/ci13xxx_msm.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/ci13xxx_pci.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/debug.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/host.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/chipidea/udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/class/cdc-acm.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/class/cdc-wdm.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/devio.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/driver.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/file.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/hcd.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/hub.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/message.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/quirks.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/usb.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/core/usb.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/core.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/dwc3-exynos.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/ep0.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/gadget.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/dwc3/gadget.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/early/ehci-dbgp.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/acm_ms.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/at91_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/composite.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/f_fs.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/f_hid.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/f_mass_storage.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/f_uvc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/f_uvc.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/fsl_mxc_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/fsl_udc_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/imx_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/lpc32xx_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/mv_u3d.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/mv_u3d_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/mv_udc_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/omap_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/pch_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/pxa25x_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/pxa27x_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/s3c-hsotg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/s3c-hsudc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/storage_common.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/u_ether.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/uvc.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/webcam.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-atmel.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-au1xxx.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-cns3xxx.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-dbg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-fsl.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-grlib.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-hcd.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-hub.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-ixp4xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-mem.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-msm.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-mv.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-mxc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-octeon.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-omap.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-orion.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-pci.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-platform.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-pmcmsp.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-ppc-of.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-ps3.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-q.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-s5p.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-sched.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-sead3.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-sh.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-spear.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-timer.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-vt8500.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-w90x900.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-xilinx-of.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-xls.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci-dbg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci-hcd.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci-hub.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci-sched.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci-tds.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/fhci.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/imx21-hcd.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ohci-exynos.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ohci-nxp.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ohci-omap.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ohci.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/xhci-hub.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/xhci.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/am35x.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/blackfin.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/da8xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/davinci.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/musb_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/musb_core.h

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/musb_dsps.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/musb_gadget.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/musb_host.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/omap2430.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/tusb6010.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/musb/ux500.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/ab8500-usb.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/fsl_otg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/gpio_vbus.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/isp1301_omap.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/msm_otg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/mv_otg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/mxs-phy.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/nop-usb-xceiv.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/otg.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/twl4030-usb.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/otg/twl6030-usb.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/renesas_usbhs/fifo.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/serial/keyspan.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/serial/option.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/serial/qcserial.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/serial/quatech2.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/serial/sierra.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/storage/protocol.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/storage/uas.c

View file

This diff is incomplete. Download the complete patch.

include/linux/mod_devicetable.h

View file

This diff is incomplete. Download the complete patch.

include/linux/platform_data/s3c-hsotg.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/chipidea.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/ehci_def.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/hcd.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/musb-omap.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/otg.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/renesas_usbhs.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usb/uas.h

View file

This diff is incomplete. Download the complete patch.

include/linux/usbdevice_fs.h

View file

This diff is incomplete. Download the complete patch.

scripts/mod/file2alias.c

View file

This diff is incomplete. Download the complete patch.

tools/usb/testusb.c

View file

This diff is incomplete. Download the complete patch.