From 2af97d6270e8ad979fe61915ece1852f30a101f1 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 17 May 2012 09:14:21 -0700 Subject: [PATCH] --- yaml --- r: 303974 b: refs/heads/master c: 32535bd5637d3152f944f124bcc82d498892ba1b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/ABI/testing/sysfs-bus-usb | 15 + .../devicetree/bindings/usb/isp1301.txt | 25 + .../devicetree/bindings/usb/lpc32xx-udc.txt | 28 + .../devicetree/bindings/usb/ohci-nxp.txt | 24 + .../devicetree/bindings/usb/spear-usb.txt | 39 + trunk/Documentation/usb/functionfs.txt | 67 + trunk/MAINTAINERS | 6 + trunk/arch/arm/mach-exynos/mach-nuri.c | 1 + .../arm/mach-exynos/mach-universal_c210.c | 1 + trunk/arch/arm/mach-s3c64xx/mach-crag6410.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smartq.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- trunk/arch/arm/mach-s5pv210/mach-goni.c | 1 + trunk/arch/arm/plat-samsung/devs.c | 2 +- .../include/plat/regs-usb-hsotg.h | 379 -- trunk/drivers/acpi/glue.c | 2 + trunk/drivers/acpi/utils.c | 30 + trunk/drivers/bcma/scan.c | 19 +- trunk/drivers/hid/usbhid/hid-core.c | 65 +- trunk/drivers/hid/usbhid/usbmouse.c | 7 +- .../input/joystick/iforce/iforce-main.c | 3 +- .../input/joystick/iforce/iforce-packets.c | 16 +- .../input/joystick/iforce/iforce-usb.c | 18 +- trunk/drivers/input/joystick/iforce/iforce.h | 1 + trunk/drivers/input/joystick/xpad.c | 35 +- trunk/drivers/input/misc/cm109.c | 33 +- trunk/drivers/input/misc/keyspan_remote.c | 23 +- trunk/drivers/input/misc/powermate.c | 13 +- trunk/drivers/input/misc/yealink.c | 31 +- trunk/drivers/input/mouse/appletouch.c | 59 +- trunk/drivers/input/mouse/bcm5974.c | 24 +- trunk/drivers/input/tablet/acecad.c | 15 +- trunk/drivers/input/tablet/aiptek.c | 28 +- trunk/drivers/input/tablet/gtco.c | 110 +- trunk/drivers/input/tablet/kbtab.c | 15 +- trunk/drivers/input/tablet/wacom_sys.c | 11 +- trunk/drivers/input/tablet/wacom_wac.c | 16 +- .../input/touchscreen/usbtouchscreen.c | 77 +- trunk/drivers/media/video/gspca/ov534_9.c | 2 +- trunk/drivers/media/video/hdpvr/hdpvr-core.c | 4 +- trunk/drivers/net/irda/irda-usb.c | 2 +- trunk/drivers/net/irda/kingsun-sir.c | 42 +- trunk/drivers/net/irda/ks959-sir.c | 31 +- trunk/drivers/net/irda/ksdazzle-sir.c | 46 +- trunk/drivers/net/irda/stir4200.c | 6 +- trunk/drivers/net/usb/catc.c | 25 +- trunk/drivers/net/usb/ipheth.c | 34 +- trunk/drivers/net/usb/kaweth.c | 63 +- trunk/drivers/net/usb/rtl8150.c | 15 +- trunk/drivers/net/wireless/at76c50x-usb.c | 2 +- trunk/drivers/staging/Kconfig | 4 +- trunk/drivers/staging/Makefile | 2 +- trunk/drivers/staging/asus_oled/asus_oled.c | 6 +- trunk/drivers/staging/ccg/Kconfig | 20 + trunk/drivers/staging/ccg/Makefile | 4 + trunk/drivers/staging/ccg/TODO | 6 + trunk/drivers/staging/ccg/ccg.c | 1299 ++++++ trunk/drivers/staging/ccg/sysfs-class-ccg_usb | 158 + trunk/drivers/staging/comedi/drivers/dt9812.c | 16 +- .../drivers/staging/comedi/drivers/vmk80xx.c | 4 +- trunk/drivers/staging/frontier/alphatrack.c | 15 +- trunk/drivers/staging/frontier/tranzport.c | 16 +- trunk/drivers/staging/line6/driver.c | 5 +- trunk/drivers/staging/line6/toneport.c | 2 +- trunk/drivers/staging/media/as102/as102_drv.c | 34 +- .../staging/media/as102/as102_usb_drv.c | 7 +- .../staging/media/easycap/easycap_main.c | 6 +- trunk/drivers/staging/media/go7007/go7007.txt | 1 - trunk/drivers/staging/media/lirc/lirc_imon.c | 80 +- trunk/drivers/staging/media/lirc/lirc_sasem.c | 100 +- .../drivers/staging/media/lirc/lirc_ttusbir.c | 13 +- trunk/drivers/staging/quatech_usb2/Kconfig | 15 - trunk/drivers/staging/quatech_usb2/Makefile | 1 - trunk/drivers/staging/quatech_usb2/TODO | 8 - .../staging/quatech_usb2/quatech_usb2.c | 1976 --------- trunk/drivers/staging/serqt_usb2/serqt_usb2.c | 79 +- trunk/drivers/usb/Kconfig | 4 + trunk/drivers/usb/Makefile | 2 + trunk/drivers/usb/atm/cxacru.c | 34 +- trunk/drivers/usb/atm/speedtch.c | 2 +- trunk/drivers/usb/atm/ueagle-atm.c | 15 +- trunk/drivers/usb/atm/usbatm.c | 30 +- trunk/drivers/usb/atm/xusbatm.c | 4 - trunk/drivers/usb/chipidea/Kconfig | 32 + trunk/drivers/usb/chipidea/Makefile | 14 + trunk/drivers/usb/chipidea/bits.h | 90 + trunk/drivers/usb/chipidea/ci.h | 313 ++ .../usb/{gadget => chipidea}/ci13xxx_msm.c | 60 +- .../usb/{gadget => chipidea}/ci13xxx_pci.c | 154 +- trunk/drivers/usb/chipidea/core.c | 474 +++ trunk/drivers/usb/chipidea/debug.c | 804 ++++ trunk/drivers/usb/chipidea/debug.h | 56 + trunk/drivers/usb/chipidea/host.c | 160 + trunk/drivers/usb/chipidea/host.h | 17 + trunk/drivers/usb/chipidea/udc.c | 1809 +++++++++ trunk/drivers/usb/chipidea/udc.h | 93 + trunk/drivers/usb/class/cdc-wdm.c | 37 +- trunk/drivers/usb/class/usblp.c | 82 +- trunk/drivers/usb/core/Kconfig | 53 - trunk/drivers/usb/core/Makefile | 2 +- trunk/drivers/usb/core/devio.c | 60 - trunk/drivers/usb/core/driver.c | 49 +- trunk/drivers/usb/core/file.c | 4 +- trunk/drivers/usb/core/hcd.c | 6 +- trunk/drivers/usb/core/inode.c | 748 ---- trunk/drivers/usb/core/quirks.c | 3 + trunk/drivers/usb/core/urb.c | 21 + trunk/drivers/usb/core/usb-acpi.c | 117 + trunk/drivers/usb/core/usb.c | 9 +- trunk/drivers/usb/core/usb.h | 7 + trunk/drivers/usb/dwc3/Kconfig | 2 +- trunk/drivers/usb/dwc3/core.c | 31 +- trunk/drivers/usb/dwc3/core.h | 40 +- trunk/drivers/usb/dwc3/dwc3-omap.c | 32 +- trunk/drivers/usb/dwc3/ep0.c | 157 +- trunk/drivers/usb/dwc3/gadget.c | 151 +- trunk/drivers/usb/dwc3/gadget.h | 1 + trunk/drivers/usb/dwc3/host.c | 19 +- trunk/drivers/usb/dwc3/io.h | 16 +- trunk/drivers/usb/gadget/Kconfig | 68 +- trunk/drivers/usb/gadget/Makefile | 4 +- trunk/drivers/usb/gadget/amd5536udc.c | 27 +- trunk/drivers/usb/gadget/amd5536udc.h | 1 - trunk/drivers/usb/gadget/at91_udc.c | 77 +- trunk/drivers/usb/gadget/at91_udc.h | 3 - trunk/drivers/usb/gadget/atmel_usba_udc.c | 76 +- trunk/drivers/usb/gadget/atmel_usba_udc.h | 1 - trunk/drivers/usb/gadget/ci13xxx_udc.c | 2996 -------------- trunk/drivers/usb/gadget/ci13xxx_udc.h | 227 -- trunk/drivers/usb/gadget/composite.c | 107 +- trunk/drivers/usb/gadget/dummy_hcd.c | 8 +- trunk/drivers/usb/gadget/f_fs.c | 52 +- trunk/drivers/usb/gadget/f_hid.c | 2 +- trunk/drivers/usb/gadget/f_loopback.c | 4 +- trunk/drivers/usb/gadget/f_mass_storage.c | 7 - trunk/drivers/usb/gadget/f_rndis.c | 30 +- trunk/drivers/usb/gadget/f_sourcesink.c | 424 +- trunk/drivers/usb/gadget/fsl_qe_udc.c | 371 +- trunk/drivers/usb/gadget/fsl_qe_udc.h | 1 - trunk/drivers/usb/gadget/fsl_udc_core.c | 55 +- trunk/drivers/usb/gadget/fsl_usb2_udc.h | 12 +- trunk/drivers/usb/gadget/fusb300_udc.c | 4 +- trunk/drivers/usb/gadget/fusb300_udc.h | 1 - trunk/drivers/usb/gadget/g_ffs.c | 200 +- trunk/drivers/usb/gadget/g_zero.h | 5 +- trunk/drivers/usb/gadget/gadget_chips.h | 3 + trunk/drivers/usb/gadget/goku_udc.c | 32 +- trunk/drivers/usb/gadget/goku_udc.h | 1 - trunk/drivers/usb/gadget/imx_udc.c | 53 +- trunk/drivers/usb/gadget/langwell_udc.c | 3434 ---------------- trunk/drivers/usb/gadget/langwell_udc.h | 224 -- trunk/drivers/usb/gadget/lpc32xx_udc.c | 3538 +++++++++++++++++ trunk/drivers/usb/gadget/m66592-udc.c | 10 +- trunk/drivers/usb/gadget/m66592-udc.h | 2 +- trunk/drivers/usb/gadget/mv_udc.h | 1 - trunk/drivers/usb/gadget/mv_udc_core.c | 19 +- trunk/drivers/usb/gadget/omap_udc.c | 19 +- trunk/drivers/usb/gadget/omap_udc.h | 1 - trunk/drivers/usb/gadget/pch_udc.c | 29 +- trunk/drivers/usb/gadget/printer.c | 470 +-- trunk/drivers/usb/gadget/pxa25x_udc.c | 26 +- trunk/drivers/usb/gadget/pxa25x_udc.h | 1 - trunk/drivers/usb/gadget/r8a66597-udc.c | 29 +- trunk/drivers/usb/gadget/r8a66597-udc.h | 3 +- trunk/drivers/usb/gadget/s3c-hsotg.c | 1633 ++++---- trunk/drivers/usb/gadget/s3c-hsotg.h | 377 ++ trunk/drivers/usb/gadget/s3c-hsudc.c | 9 +- trunk/drivers/usb/gadget/s3c2410_udc.c | 14 +- trunk/drivers/usb/gadget/s3c2410_udc.h | 1 - trunk/drivers/usb/gadget/u_ether.c | 8 +- trunk/drivers/usb/gadget/u_ether.h | 46 +- trunk/drivers/usb/gadget/u_serial.c | 4 +- trunk/drivers/usb/gadget/zero.c | 19 +- trunk/drivers/usb/host/Kconfig | 41 +- trunk/drivers/usb/host/Makefile | 2 + trunk/drivers/usb/host/bcma-hcd.c | 335 ++ trunk/drivers/usb/host/ehci-dbg.c | 6 +- trunk/drivers/usb/host/ehci-fsl.c | 41 +- trunk/drivers/usb/host/ehci-fsl.h | 13 +- trunk/drivers/usb/host/ehci-hcd.c | 39 +- trunk/drivers/usb/host/ehci-hub.c | 22 +- trunk/drivers/usb/host/ehci-omap.c | 22 +- trunk/drivers/usb/host/ehci-pci.c | 11 +- trunk/drivers/usb/host/ehci-platform.c | 4 +- trunk/drivers/usb/host/ehci-q.c | 19 +- trunk/drivers/usb/host/ehci-s5p.c | 4 + trunk/drivers/usb/host/ehci-sched.c | 55 +- trunk/drivers/usb/host/ehci-sead3.c | 266 ++ trunk/drivers/usb/host/ehci-sh.c | 8 + trunk/drivers/usb/host/ehci-spear.c | 36 +- trunk/drivers/usb/host/ehci-tegra.c | 69 +- trunk/drivers/usb/host/ehci.h | 1 + trunk/drivers/usb/host/fhci-tds.c | 2 +- trunk/drivers/usb/host/fsl-mph-dr-of.c | 41 + trunk/drivers/usb/host/isp1760-hcd.c | 9 +- trunk/drivers/usb/host/isp1760-if.c | 8 + trunk/drivers/usb/host/ohci-at91.c | 16 +- trunk/drivers/usb/host/ohci-au1xxx.c | 3 +- trunk/drivers/usb/host/ohci-cns3xxx.c | 3 +- trunk/drivers/usb/host/ohci-da8xx.c | 2 + trunk/drivers/usb/host/ohci-dbg.c | 4 +- trunk/drivers/usb/host/ohci-ep93xx.c | 9 +- trunk/drivers/usb/host/ohci-exynos.c | 3 +- trunk/drivers/usb/host/ohci-hcd.c | 21 +- trunk/drivers/usb/host/ohci-nxp.c | 173 +- trunk/drivers/usb/host/ohci-omap.c | 5 +- trunk/drivers/usb/host/ohci-platform.c | 4 +- trunk/drivers/usb/host/ohci-pnx8550.c | 3 +- trunk/drivers/usb/host/ohci-ppc-of.c | 5 +- trunk/drivers/usb/host/ohci-ppc-soc.c | 3 +- trunk/drivers/usb/host/ohci-ps3.c | 3 +- trunk/drivers/usb/host/ohci-pxa27x.c | 3 +- trunk/drivers/usb/host/ohci-s3c2410.c | 3 +- trunk/drivers/usb/host/ohci-sa1111.c | 4 +- trunk/drivers/usb/host/ohci-sh.c | 8 +- trunk/drivers/usb/host/ohci-spear.c | 36 +- trunk/drivers/usb/host/ohci-ssb.c | 260 -- trunk/drivers/usb/host/ohci-tmio.c | 3 +- trunk/drivers/usb/host/ohci-xls.c | 3 +- trunk/drivers/usb/host/oxu210hp-hcd.c | 13 +- trunk/drivers/usb/host/pci-quirks.c | 32 +- trunk/drivers/usb/host/r8a66597-hcd.c | 20 +- trunk/drivers/usb/host/ssb-hcd.c | 280 ++ trunk/drivers/usb/host/xhci-hub.c | 22 +- trunk/drivers/usb/host/xhci-ring.c | 4 +- trunk/drivers/usb/host/xhci.c | 13 +- trunk/drivers/usb/host/xhci.h | 2 + trunk/drivers/usb/image/mdc800.c | 19 +- trunk/drivers/usb/misc/appledisplay.c | 12 +- trunk/drivers/usb/misc/emi26.c | 59 +- trunk/drivers/usb/misc/emi62.c | 62 +- trunk/drivers/usb/misc/idmouse.c | 9 +- trunk/drivers/usb/misc/iowarrior.c | 4 +- trunk/drivers/usb/misc/ldusb.c | 15 +- trunk/drivers/usb/misc/legousbtower.c | 45 +- trunk/drivers/usb/misc/rio500.c | 65 +- trunk/drivers/usb/misc/usblcd.c | 24 +- trunk/drivers/usb/misc/usbtest.c | 17 +- trunk/drivers/usb/misc/uss720.c | 49 +- trunk/drivers/usb/misc/yurex.c | 54 +- trunk/drivers/usb/musb/Kconfig | 8 +- trunk/drivers/usb/musb/Makefile | 1 + trunk/drivers/usb/musb/cppi_dma.c | 1 + trunk/drivers/usb/musb/musb_core.c | 4 +- trunk/drivers/usb/musb/musb_dsps.c | 711 ++++ trunk/drivers/usb/otg/gpio_vbus.c | 25 +- trunk/drivers/usb/phy/Kconfig | 17 + trunk/drivers/usb/phy/Makefile | 7 + trunk/drivers/usb/phy/isp1301.c | 77 + trunk/drivers/usb/renesas_usbhs/mod_gadget.c | 19 +- trunk/drivers/usb/serial/Kconfig | 9 + trunk/drivers/usb/serial/Makefile | 1 + trunk/drivers/usb/serial/aircable.c | 16 +- trunk/drivers/usb/serial/ark3116.c | 36 +- trunk/drivers/usb/serial/belkin_sa.c | 47 +- trunk/drivers/usb/serial/bus.c | 9 +- trunk/drivers/usb/serial/ch341.c | 48 +- trunk/drivers/usb/serial/console.c | 9 +- trunk/drivers/usb/serial/cp210x.c | 32 +- trunk/drivers/usb/serial/cyberjack.c | 27 +- trunk/drivers/usb/serial/cypress_m8.c | 45 +- trunk/drivers/usb/serial/digi_acceleport.c | 35 +- trunk/drivers/usb/serial/empeg.c | 13 +- trunk/drivers/usb/serial/ezusb.c | 2 - trunk/drivers/usb/serial/f81232.c | 37 +- trunk/drivers/usb/serial/ftdi_sio.c | 47 +- trunk/drivers/usb/serial/ftdi_sio_ids.h | 8 + trunk/drivers/usb/serial/funsoft.c | 9 +- trunk/drivers/usb/serial/garmin_gps.c | 29 +- trunk/drivers/usb/serial/generic.c | 68 +- trunk/drivers/usb/serial/hp4x.c | 9 +- trunk/drivers/usb/serial/io_edgeport.c | 2 +- trunk/drivers/usb/serial/io_tables.h | 7 - trunk/drivers/usb/serial/io_ti.c | 27 +- trunk/drivers/usb/serial/ipaq.c | 52 +- trunk/drivers/usb/serial/ipw.c | 18 +- trunk/drivers/usb/serial/ir-usb.c | 72 +- trunk/drivers/usb/serial/iuu_phoenix.c | 47 +- trunk/drivers/usb/serial/keyspan.c | 53 +- trunk/drivers/usb/serial/keyspan.h | 7 - trunk/drivers/usb/serial/keyspan_pda.c | 17 +- trunk/drivers/usb/serial/kl5kusb105.c | 18 +- trunk/drivers/usb/serial/kobil_sct.c | 19 +- trunk/drivers/usb/serial/mct_u232.c | 33 +- trunk/drivers/usb/serial/metro-usb.c | 92 +- trunk/drivers/usb/serial/mos7720.c | 49 +- trunk/drivers/usb/serial/mos7840.c | 298 +- trunk/drivers/usb/serial/moto_modem.c | 9 +- trunk/drivers/usb/serial/navman.c | 26 +- trunk/drivers/usb/serial/omninet.c | 24 +- trunk/drivers/usb/serial/opticon.c | 53 +- trunk/drivers/usb/serial/option.c | 18 +- trunk/drivers/usb/serial/oti6858.c | 44 +- trunk/drivers/usb/serial/pl2303.c | 114 +- trunk/drivers/usb/serial/qcaux.c | 9 +- trunk/drivers/usb/serial/qcserial.c | 41 +- trunk/drivers/usb/serial/quatech2.c | 1155 ++++++ trunk/drivers/usb/serial/safe_serial.c | 11 +- trunk/drivers/usb/serial/siemens_mpi.c | 9 +- trunk/drivers/usb/serial/sierra.c | 56 +- trunk/drivers/usb/serial/spcp8x5.c | 24 +- trunk/drivers/usb/serial/ssu100.c | 33 +- trunk/drivers/usb/serial/symbolserial.c | 30 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 65 +- trunk/drivers/usb/serial/ti_usb_3410_5052.h | 1 + trunk/drivers/usb/serial/usb-serial.c | 109 +- trunk/drivers/usb/serial/usb_debug.c | 9 +- trunk/drivers/usb/serial/usb_wwan.c | 50 +- trunk/drivers/usb/serial/visor.c | 98 +- trunk/drivers/usb/serial/vivopay-serial.c | 9 +- trunk/drivers/usb/serial/whiteheat.c | 569 +-- trunk/drivers/usb/serial/zio.c | 9 +- trunk/drivers/usb/storage/ene_ub6250.c | 6 +- trunk/drivers/usb/storage/unusual_devs.h | 7 + trunk/drivers/usb/usb-skeleton.c | 36 +- trunk/drivers/video/udlfb.c | 2 +- trunk/include/acpi/acpi_bus.h | 36 + trunk/include/linux/bcma/bcma.h | 1 + trunk/include/linux/fsl_devices.h | 9 +- trunk/include/linux/platform_data/ehci-sh.h | 28 + .../linux/platform_data/s3c-hsotg.h} | 5 +- trunk/include/linux/usb.h | 19 +- trunk/include/linux/usb/ch9.h | 2 + trunk/include/linux/usb/chipidea.h | 28 + trunk/include/linux/usb/composite.h | 6 + trunk/include/linux/usb/functionfs.h | 4 +- trunk/include/linux/usb/hcd.h | 23 - trunk/include/linux/usb/isp1301.h | 80 + trunk/include/linux/usb/langwell_udc.h | 310 -- trunk/include/linux/usb/serial.h | 34 +- trunk/tools/usb/ffs-test.c | 2 +- trunk/tools/usb/testusb.c | 5 + 333 files changed, 17724 insertions(+), 16141 deletions(-) create mode 100644 trunk/Documentation/devicetree/bindings/usb/isp1301.txt create mode 100644 trunk/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt create mode 100644 trunk/Documentation/devicetree/bindings/usb/ohci-nxp.txt create mode 100644 trunk/Documentation/devicetree/bindings/usb/spear-usb.txt create mode 100644 trunk/Documentation/usb/functionfs.txt delete mode 100644 trunk/arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h create mode 100644 trunk/drivers/staging/ccg/Kconfig create mode 100644 trunk/drivers/staging/ccg/Makefile create mode 100644 trunk/drivers/staging/ccg/TODO create mode 100644 trunk/drivers/staging/ccg/ccg.c create mode 100644 trunk/drivers/staging/ccg/sysfs-class-ccg_usb delete mode 100644 trunk/drivers/staging/quatech_usb2/Kconfig delete mode 100644 trunk/drivers/staging/quatech_usb2/Makefile delete mode 100644 trunk/drivers/staging/quatech_usb2/TODO delete mode 100644 trunk/drivers/staging/quatech_usb2/quatech_usb2.c create mode 100644 trunk/drivers/usb/chipidea/Kconfig create mode 100644 trunk/drivers/usb/chipidea/Makefile create mode 100644 trunk/drivers/usb/chipidea/bits.h create mode 100644 trunk/drivers/usb/chipidea/ci.h rename trunk/drivers/usb/{gadget => chipidea}/ci13xxx_msm.c (69%) rename trunk/drivers/usb/{gadget => chipidea}/ci13xxx_pci.c (52%) create mode 100644 trunk/drivers/usb/chipidea/core.c create mode 100644 trunk/drivers/usb/chipidea/debug.c create mode 100644 trunk/drivers/usb/chipidea/debug.h create mode 100644 trunk/drivers/usb/chipidea/host.c create mode 100644 trunk/drivers/usb/chipidea/host.h create mode 100644 trunk/drivers/usb/chipidea/udc.c create mode 100644 trunk/drivers/usb/chipidea/udc.h delete mode 100644 trunk/drivers/usb/core/inode.c create mode 100644 trunk/drivers/usb/core/usb-acpi.c delete mode 100644 trunk/drivers/usb/gadget/ci13xxx_udc.c delete mode 100644 trunk/drivers/usb/gadget/ci13xxx_udc.h delete mode 100644 trunk/drivers/usb/gadget/langwell_udc.c delete mode 100644 trunk/drivers/usb/gadget/langwell_udc.h create mode 100644 trunk/drivers/usb/gadget/lpc32xx_udc.c create mode 100644 trunk/drivers/usb/gadget/s3c-hsotg.h create mode 100644 trunk/drivers/usb/host/bcma-hcd.c create mode 100644 trunk/drivers/usb/host/ehci-sead3.c delete mode 100644 trunk/drivers/usb/host/ohci-ssb.c create mode 100644 trunk/drivers/usb/host/ssb-hcd.c create mode 100644 trunk/drivers/usb/musb/musb_dsps.c create mode 100644 trunk/drivers/usb/phy/Kconfig create mode 100644 trunk/drivers/usb/phy/Makefile create mode 100644 trunk/drivers/usb/phy/isp1301.c create mode 100644 trunk/drivers/usb/serial/quatech2.c create mode 100644 trunk/include/linux/platform_data/ehci-sh.h rename trunk/{arch/arm/plat-samsung/include/plat/udc-hs.h => include/linux/platform_data/s3c-hsotg.h} (90%) create mode 100644 trunk/include/linux/usb/chipidea.h create mode 100644 trunk/include/linux/usb/isp1301.h delete mode 100644 trunk/include/linux/usb/langwell_udc.h diff --git a/[refs] b/[refs] index 04b1275799e5..ebc608bf0bad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3a36dd068f4308461661d28e8e14e11e426eba6b +refs/heads/master: 32535bd5637d3152f944f124bcc82d498892ba1b diff --git a/trunk/Documentation/ABI/testing/sysfs-bus-usb b/trunk/Documentation/ABI/testing/sysfs-bus-usb index 7c22a532fdfb..6ae9fec8e07d 100644 --- a/trunk/Documentation/ABI/testing/sysfs-bus-usb +++ b/trunk/Documentation/ABI/testing/sysfs-bus-usb @@ -135,6 +135,17 @@ Description: for the device and attempt to bind to it. For example: # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id + Reading from this file will list all dynamically added + device IDs in the same format, with one entry per + line. For example: + # cat /sys/bus/usb/drivers/foo/new_id + 8086 10f5 + dead beef 06 + f00d cafe + + The list will be truncated at PAGE_SIZE bytes due to + sysfs restrictions. + What: /sys/bus/usb-serial/drivers/.../new_id Date: October 2011 Contact: linux-usb@vger.kernel.org @@ -157,6 +168,10 @@ Description: match the driver to the device. For example: # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id + Reading from this file will list the dynamically added + device IDs, exactly like reading from the entry + "/sys/bus/usb/drivers/.../new_id" + What: /sys/bus/usb/device/.../avoid_reset_quirk Date: December 2009 Contact: Oliver Neukum diff --git a/trunk/Documentation/devicetree/bindings/usb/isp1301.txt b/trunk/Documentation/devicetree/bindings/usb/isp1301.txt new file mode 100644 index 000000000000..5405d99d9aaa --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/usb/isp1301.txt @@ -0,0 +1,25 @@ +* NXP ISP1301 USB transceiver + +Required properties: +- compatible: must be "nxp,isp1301" +- reg: I2C address of the ISP1301 device + +Optional properties of devices using ISP1301: +- transceiver: phandle of isp1301 - this helps the ISP1301 driver to find the + ISP1301 instance associated with the respective USB driver + +Example: + + isp1301: usb-transceiver@2c { + compatible = "nxp,isp1301"; + reg = <0x2c>; + }; + + usbd@31020000 { + compatible = "nxp,lpc3220-udc"; + reg = <0x31020000 0x300>; + interrupt-parent = <&mic>; + interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>; + transceiver = <&isp1301>; + status = "okay"; + }; diff --git a/trunk/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt b/trunk/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt new file mode 100644 index 000000000000..29f12a533f66 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/usb/lpc32xx-udc.txt @@ -0,0 +1,28 @@ +* NXP LPC32xx SoC USB Device Controller (UDC) + +Required properties: +- compatible: Must be "nxp,lpc3220-udc" +- reg: Physical base address of the controller and length of memory mapped + region. +- interrupts: The USB interrupts: + * USB Device Low Priority Interrupt + * USB Device High Priority Interrupt + * USB Device DMA Interrupt + * External USB Transceiver Interrupt (OTG ATX) +- transceiver: phandle of the associated ISP1301 device - this is necessary for + the UDC controller for connecting to the USB physical layer + +Example: + + isp1301: usb-transceiver@2c { + compatible = "nxp,isp1301"; + reg = <0x2c>; + }; + + usbd@31020000 { + compatible = "nxp,lpc3220-udc"; + reg = <0x31020000 0x300>; + interrupt-parent = <&mic>; + interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>; + transceiver = <&isp1301>; + }; diff --git a/trunk/Documentation/devicetree/bindings/usb/ohci-nxp.txt b/trunk/Documentation/devicetree/bindings/usb/ohci-nxp.txt new file mode 100644 index 000000000000..71e28c1017ed --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/usb/ohci-nxp.txt @@ -0,0 +1,24 @@ +* OHCI controller, NXP ohci-nxp variant + +Required properties: +- compatible: must be "nxp,ohci-nxp" +- reg: physical base address of the controller and length of memory mapped + region. +- interrupts: The OHCI interrupt +- transceiver: phandle of the associated ISP1301 device - this is necessary for + the UDC controller for connecting to the USB physical layer + +Example (LPC32xx): + + isp1301: usb-transceiver@2c { + compatible = "nxp,isp1301"; + reg = <0x2c>; + }; + + ohci@31020000 { + compatible = "nxp,ohci-nxp"; + reg = <0x31020000 0x300>; + interrupt-parent = <&mic>; + interrupts = <0x3b 0>; + transceiver = <&isp1301>; + }; diff --git a/trunk/Documentation/devicetree/bindings/usb/spear-usb.txt b/trunk/Documentation/devicetree/bindings/usb/spear-usb.txt new file mode 100644 index 000000000000..f8a464a25653 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/usb/spear-usb.txt @@ -0,0 +1,39 @@ +ST SPEAr SoC USB controllers: +----------------------------- + +EHCI: +----- + +Required properties: +- compatible: "st,spear600-ehci" +- interrupt-parent: Should be the phandle for the interrupt controller + that services interrupts for this device +- interrupts: Should contain the EHCI interrupt + +Example: + + ehci@e1800000 { + compatible = "st,spear600-ehci", "usb-ehci"; + reg = <0xe1800000 0x1000>; + interrupt-parent = <&vic1>; + interrupts = <27>; + }; + + +OHCI: +----- + +Required properties: +- compatible: "st,spear600-ohci" +- interrupt-parent: Should be the phandle for the interrupt controller + that services interrupts for this device +- interrupts: Should contain the OHCI interrupt + +Example: + + ohci@e1900000 { + compatible = "st,spear600-ohci", "usb-ohci"; + reg = <0xe1800000 0x1000>; + interrupt-parent = <&vic1>; + interrupts = <26>; + }; diff --git a/trunk/Documentation/usb/functionfs.txt b/trunk/Documentation/usb/functionfs.txt new file mode 100644 index 000000000000..eaaaea019fc7 --- /dev/null +++ b/trunk/Documentation/usb/functionfs.txt @@ -0,0 +1,67 @@ +*How FunctionFS works* + +From kernel point of view it is just a composite function with some +unique behaviour. It may be added to an USB configuration only after +the user space driver has registered by writing descriptors and +strings (the user space program has to provide the same information +that kernel level composite functions provide when they are added to +the configuration). + +This in particular means that the composite initialisation functions +may not be in init section (ie. may not use the __init tag). + +From user space point of view it is a file system which when +mounted provides an "ep0" file. User space driver need to +write descriptors and strings to that file. It does not need +to worry about endpoints, interfaces or strings numbers but +simply provide descriptors such as if the function was the +only one (endpoints and strings numbers starting from one and +interface numbers starting from zero). The FunctionFS changes +them as needed also handling situation when numbers differ in +different configurations. + +When descriptors and strings are written "ep#" files appear +(one for each declared endpoint) which handle communication on +a single endpoint. Again, FunctionFS takes care of the real +numbers and changing of the configuration (which means that +"ep1" file may be really mapped to (say) endpoint 3 (and when +configuration changes to (say) endpoint 2)). "ep0" is used +for receiving events and handling setup requests. + +When all files are closed the function disables itself. + +What I also want to mention is that the FunctionFS is designed in such +a way that it is possible to mount it several times so in the end +a gadget could use several FunctionFS functions. The idea is that +each FunctionFS instance is identified by the device name used +when mounting. + +One can imagine a gadget that has an Ethernet, MTP and HID interfaces +where the last two are implemented via FunctionFS. On user space +level it would look like this: + +$ insmod g_ffs.ko idVendor= iSerialNumber= functions=mtp,hid +$ mkdir /dev/ffs-mtp && mount -t functionfs mtp /dev/ffs-mtp +$ ( cd /dev/ffs-mtp && mtp-daemon ) & +$ mkdir /dev/ffs-hid && mount -t functionfs hid /dev/ffs-hid +$ ( cd /dev/ffs-hid && hid-daemon ) & + +On kernel level the gadget checks ffs_data->dev_name to identify +whether it's FunctionFS designed for MTP ("mtp") or HID ("hid"). + +If no "functions" module parameters is supplied, the driver accepts +just one function with any name. + +When "functions" module parameter is supplied, only functions +with listed names are accepted. In particular, if the "functions" +parameter's value is just a one-element list, then the behaviour +is similar to when there is no "functions" at all; however, +only a function with the specified name is accepted. + +The gadget is registered only after all the declared function +filesystems have been mounted and USB descriptors of all functions +have been written to their ep0's. + +Conversely, the gadget is unregistered after the first USB function +closes its endpoints. + diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index b36270986501..8741f75360a1 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -1809,6 +1809,12 @@ L: linux-kernel@zh-kernel.org (moderated for non-subscribers) S: Maintained F: Documentation/zh_CN/ +CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER +M: Alexander Shishkin +L: linux-usb@vger.kernel.org +S: Maintained +F: drivers/usb/chipidea/ + CISCO VIC ETHERNET NIC DRIVER M: Christian Benvenuti M: Roopa Prabhu diff --git a/trunk/arch/arm/mach-exynos/mach-nuri.c b/trunk/arch/arm/mach-exynos/mach-nuri.c index f74c3b75da6a..a60269d0a119 100644 --- a/trunk/arch/arm/mach-exynos/mach-nuri.c +++ b/trunk/arch/arm/mach-exynos/mach-nuri.c @@ -25,6 +25,7 @@ #include #include #include +#include #include