Hi Greg, Here's a big pull request for v3.20. All patches have been around for quite a while. I have tested everything on AM437x SK, AM437x IDK, AM335x BeagleBoneBlack and AM57x Beagleboard X15. Let me know if you want me to change anything. cheers The following changes since commit ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc: Linux 3.19-rc5 (2015-01-18 18:02:20 +1200) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v3.20 for you to fetch changes up to 9298b4aad37e8c6962edcdbd0b62620adb207d03: usb: musb: fix device hotplug behind hub (2015-02-04 11:16:47 -0600) ---------------------------------------------------------------- usb: patches for v3.20 merge window Here's the big pull request for Gadgets and PHYs. It's a total of 217 non-merge commits with pretty much everything being touched. The most important bits are a ton of new documentation for almost all usb gadget functions, a new isp1760 UDC driver, several improvements to the old net2280 UDC driver, and some minor tracepoint improvements to dwc3. Other than that, a big list of minor cleanups, smaller bugfixes and new features all over the place. Signed-off-by: Felipe Balbi <balbi@xxxxxx> ---------------------------------------------------------------- Amit Virdi (2): usb: dwc3: gadget: Remove redundant check usb: dwc3: Remove current_trb as it is unused Andrzej Pietrasiewicz (26): Documentation: usb: gadget_serial: update generic serial setup instruction Documentation: usb: ACM function testing Documentation: usb: ECM function testing Documentation: usb: ECM subset function testing Documentation: usb: EEM function testing Documentation: usb: FFS function testing Documentation: usb: HID function testing Documentation: usb: LOOPBACK function testing Documentation: usb: MASS STORAGE function testing Documentation: usb: MIDI function testing Documentation: usb: NCM function testing Documentation: usb: OBEX function testing Documentation: usb: PHONET function testing Documentation: usb: RNDIS function testing Documentation: usb: SERIAL function testing Documentation: usb: SOURCESINK function testing Documentation: usb: UAC1 function testing Documentation: usb: UAC2 function testing Documentation: usb: UVC function testing usb: gadget: hid: consistently use 2^n - 1 for max values usb: gadget: f_uvc: rename a macro to avoid conflicts usb: gadget: uvc: verify descriptors presence usb: gadget: uvc: configfs support in uvc function usb: gadget: uvc: preserve the address passed to kfree() usb: gadget: uvc: use explicit type instead of void * usb: gadget: uvc: comments for iterating over streaming hierarchy Andy Shevchenko (1): usb: gadget: ethernet: re-use %pM specifier to print MAC Arnd Bergmann (3): usb: musb: add generic usb phy dependencies usb: musb: add omap-control dependency usb: dwc2: fix USB core dependencies Asaf Vertz (1): usb: gadget: zero: fix format string warnings Bin Liu (3): usb: musb: cppi41: correct the macro name EP_MODE_AUTOREG_* usb: musb: cppi41: improve rx channel abort routine usb: musb: fix device hotplug behind hub Boris Brezillon (4): usb: atmel_usba_udc: Rework at91sam9rl errata handling usb: atmel_usba_udc: Add at91sam9g45 and at91sam9x5 errata handling usb: atmel_usba_udc: Mask status with enabled irqs usb: gadget: atmel_usba: Cache INT_ENB register value Christoph Jaeger (1): usb: gadget: Kconfig: use bool instead of boolean Dan Carpenter (6): usb: gadget: udc: clean up a printk usb: gadget: udc: remove bogus NULL check usb: gadget: uvc: fix some error codes usb: gadget: uvc: remove an impossible condition usb: gadget: uvc: memory leak in uvcg_frame_make() usb: gadget: uvc: cleanup UVCG_FRAME_ATTR macro Dmitry Torokhov (1): usb: musb: blackfin: remove incorrect __exit_p() Fabio Estevam (2): Documentation: usb: phy: nop: Fix the description of 'vcc-supply' usb: phy: phy-generic: Fix USB PHY gpio reset Felipe Balbi (6): Merge tag 'v3.19-rc5' into next usb: dwc3: gadget: avoid variable shadowing usb: dwc3: gadget: WARN() in case of unknown IRQ usb: dwc3: trace: add trace logs for core and gadget usb: dwc3: remove reliance on dev_vdbg() usb: dwc3: gadget: add missing spin_lock() Gregory Herrero (20): usb: dwc2: gadget: register gadget handle to the phy usb: dwc2: gadget: write correct value in ahbcfg register usb: dwc2: gadget: don't erase gahbcfg register when enabling dma usb: dwc2: gadget: add device tree property to enable dma Documentation: dt-bindings: add dt binding info for dwc2 g-use-dma usb: dwc2: gadget: configure fifos from device tree Documentation: dt-bindings: add dt binding info for dwc2 fifo resizing usb: dwc2: gadget: don't block after fifo flush timeout usb: dwc2: gadget: add vbus_session support usb: dwc2: gadget: reset fifo_map when initializing fifos usb: dwc2: gadget: fix pullup handling usb: dwc2: gadget: add vbus_draw support usb: dwc2: gadget: force gadget initialization in dev mode usb: dwc2: host: resume root hub on remote wakeup usb: dwc2: gadget: fix clear halt feature handling usb: dwc2: gadget: add TEST_MODE feature support usb: dwc2: gadget: fix a typo in comment usb: dwc2: gadget: add reset flag in init function usb: dwc2: gadget: don't modify pullup status during reset usb: dwc2: gadget: initialize controller in pullup callback Heikki Krogerus (3): usb: dwc3: pci: remove registration of NOP PHYs usb: dwc3: pci: rely on default PM callbacks from PCI driver utility usb: dwc3: pci: code cleanup Julia Lawall (1): usb: gadget: fix platform_no_drv_owner.cocci warnings Laurent Pinchart (26): usb: isp1760: Use the gpio descriptor API usb: isp1760: Remove isp1760 glue structure usb: isp1760: Retrieve pdev memory resource from hcd at remove time usb: isp1760: Unmap I/O registers at platform device removal usb: isp1760: Merge platform and OF glue codes usb: isp1760: Move removal cleanup code to isp1760-hcd.c usb: isp1760: Manage device driver data in common code usb: isp1760: Don't expose hcd to glue code from isp1760_register usb: isp1760: Fix indentation in probe error path usb: isp1760: Prefix init_kmem_once and deinit_kmem_cache with isp1760_ usb: isp1760: Remove busname argument to isp1760_register usb: isp1760: Pass resource pointer to isp1760_register usb: isp1760: Use the managed devm_ioremap_resource() API usb: isp1760: Refactor PCI initialization code usb: isp1760: Decouple usb_hdc and isp1760_priv usb: isp1760: Prefix driver data structures with isp1760_ usb: isp1760: Reorganize header files usb: isp1760: Move core code to isp1760-core.c usb: isp1760: Set IRQF_SHARED flag in core code usb: isp1760: Initialize the bus interface in core code usb: isp1760: Move PORT1 configuration to core code usb: isp1760: Add device controller support usb: isp1760: Move driver from drivers/usb/host/ to drivers/usb/isp1760/ usb: isp1760: Make HCD support optional usb: isp1760: Remove duplicate usb_disabled() check usb: isp1760: Fix USB disabled check Li Jun (1): usb: phy: mxs: refine mxs_phy_disconnect_line Mario Schuknecht (2): usb: gadget: Fix os desc test usb: gadget: f_fs: Fix loop variable Markus Pargmann (1): usb: musb: debugfs: improve copy_from_user() argument Mian Yousaf Kaukab (22): usb: dwc2: gadget: mask fifo empty irq with dma usb: dwc2: gadget: don't process XferCompl on setup packet usb: dwc2: gadget: don't embed ep0 buffers usb: dwc2: gadget: fix error path in dwc2_gadget_init usb: dwc2: gadget: add bi-directional endpoint support usb: dwc2: gadget: check interrupts for all endpoints usb: dwc2: gadget: remove unused members from hsotg_req usb: dwc2: gadget: fix debug loop limits usb: dwc2: gadget: consider all tx fifos usb: dwc2: gadget: kill requests after disabling ep usb: dwc2: gadget: manage ep0 state in software usb: dwc2: gadget: fix zero length packet transfers usb: dwc2: gadget: dont warn if endpoint is not enabled usb: dwc2: gadget: rename sent_zlp to send_zlp usb: dwc2: gadget: pick smallest acceptable fifo usb: dwc2: gadget: fix fifo allocation leak usb: dwc2: gadget: report disconnection after reset usb: dwc2: gadget: remove hardcoded if (0) and if (1) checks usb: dwc2: gadget: add unaligned buffers support usb: dwc2: gadget: fix debug message for zlp usb: dwc2: gadget: fix phy interface configuration usb: dwc2: gadget: replace constants with defines Michal Nazarewicz (1): usb: gadget: f_fs: refactor and document __ffs_ep0_read_events better Mickael Maison (2): usb: dwc3: Fixed a typo in comments usb: dwc2: Fixed a few typos in comments Nicholas Mc Guire (1): usb: gadget: cleanup on stack DECLARE_COMPLETIONs Paul Zimmerman (3): usb: phy: make GPIOs optional for the generic phy Revert "usb: dwc2: add bus suspend/resume for dwc2" MAINTAINERS: update maintainer entry for dwc2 driver Peter Chen (31): usb: phy: phy-mxs-usb: add power down and disable wakeup for .shutdown usb: phy: phy-mxs-usb: do not depend on speed for disconnect notifier usb: phy: change some comments usb: gadget: pxa27x_udc: delete pullup operation at .udc_start and .udc_stop usb: gadget: pxa27x_udc: delete pullup operation at .udc_start and .udc_stop usb: gadget: mv_udc_core: delete pullup operation at .udc_start usb: gadget: uac1: struct gaudio is useless for struct f_uac1_opts usb: gadget: u_uac1: fix one code style problem usb: phy: mxs: don't need IP fix for imx6sx usb: phy: mxs: do not set PWD.RXPWD1PT1 for low speed connection usb: phy: mxs: add delay before set phyctrl.clkgate usb: gadget: introduce is_selfpowered for usb_gadget usb: chipidea: udc: add set_selfpowered gaget ops usb: gadget: at91_udc: use common is_selfpowered staging: emxx_udc: use common is_selfpowered usb: renesas_usbhs: gadget: set value for common is_selfpowered usb: gadget: bdc_udc: set value for common is_selfpowered usb: gadget: dummy_hcd: set value for common is_selfpowered usb: gadget: lpc32xx_udc: use common is_selfpowered usb: gadget: fsl_udc_core: set value for common is_selfpowered usb: gadget: omap_udc: set value for common is_selfpowered usb: gadget: r8a66597-udc: set value for common is_selfpowered usb: gadget: net2280: use common is_selfpowered usb: gadget: s3c2410_udc: set value for common is_selfpowered usb: gadget: net2272: use common is_selfpowered usb: gadget: atmel_usba_udc: set value for common is_selfpowered usb: gadget: pch_udc: set value for common is_selfpowered usb: dwc3: gadget: use common is_selfpowered usb: musb: gadget: use common is_selfpowered usb: udc-core: add is_selfpowered sys entry staging: emxx_udc: fix the build error Ricardo Ribalda Delgado (18): usb: gadget: udc: net2280: Remove obsolete module param use_dma_chaining usb: gadget: udc: net2280: remove full_speed module parameter usb: gadget: udc: net2280: Remove module parameter use_msi usb: gadget: udc: net2280: Remove use_dma module parameter usb: gadget: udc: net2280: Remove dma_started field usb: gadget: udc: net2280: Remove restart_dma inline function definition usb: gadget: udc: net2280: Code cleanout remove ep_stdrsp function usb: gadget: udc: net2280: Remove field is_halt usb: gadget: udc: net2280: Remove function ep_stall usb: gadget: udc: net2280: Merge abort_dma for 228x and 338x usb: gadget: udc: net2280: Clean function net2280_queue usb: gadget: udc: net2280: Improve patching of defect 7374 usb: gadget: udc: net2280: Remove function resume_dma usb: gadget: udc: net2280: Declare allow_status_338x as inline usb: gadget: udc: net2280: Simplify scan_dma_completions usb: gadget: udc: net2280: Move ASSERT_OUT_NAKING into out_flush usb: gadget: udc: net2280: Re-enable dynamic debug messages usb: gadget: net2280: Dont use 0 as NULL pointer Rickard Strandqvist (2): usb: gadget: udc: s3c2410_udc.c: Remove some unused functions usb: phy: phy-fsl-usb: Remove some unused functions Robert Baldyga (5): drivers: usb: dwc2: remove 'force' parameter from kill_all_requests() tools: ffs-aio-example: add missing wMaxPacketSize for HS descs tools: ffs-aio-example: use endpoint addresses from descriptors usb: gadget: f_fs: add "no_disconnect" mode usb: gadget: ffs: add eventfd notification about ffs events Robert Jarzmik (5): usb: phy: generic: migrate to gpio_desc usb: phy: nop: device tree documentation for vbus usb: phy: generic: add vbus support usb: phy: generic: fix the gpios to be optional usb: phy: generic: fix the vbus interrupt request Roshan Pius (1): usb: dwc2: Fix a bug in reading the endpoint directions from reg. Sergei Shtylyov (7): usb: renesas_usbhs: kill dead code in usbhs_probe() usb: renesas_usbhs: fix platform init error message usb: renesas_usbhs: add OTG ID signal sensing usb: dwc2: hcd: use HUB_CHAR_* usb: dummy_hcd: use HUB_CHAR_* usb: musb: virthub: use HUB_CHAR_* usb: renesas_usbhs: mod_host: use HUB_CHAR_* Xuebing Wang (2): usb: gadget: f_uac1: configure endpoint before using it usb: gadget: f_uac1: update Class-Specific AudioControl Interface Header Descriptor Yoshihiro Shimoda (3): usb: renesas_usbhs: add usbhsf_dma_init_pdev() function usb: renesas_usbhs: add support for requesting DT DMA usb: renesas_usbhs: fix NULL pointer dereference in dma_release_channel() Yunzhi Li (1): usb: dwc2: platform: add generic PHY framework support kbuild test robot (1): usb: gadget: uvc: to_uvcg_control_header() can be static Documentation/ABI/testing/configfs-usb-gadget-uvc | 265 +++ .../devicetree/bindings/usb/atmel-usb.txt | 5 +- Documentation/devicetree/bindings/usb/dwc2.txt | 4 + .../devicetree/bindings/usb/renesas_usbhs.txt | 2 + .../devicetree/bindings/usb/usb-nop-xceiv.txt | 10 +- Documentation/usb/gadget-testing.txt | 728 ++++++ Documentation/usb/gadget_serial.txt | 8 +- MAINTAINERS | 2 +- drivers/staging/emxx_udc/emxx_udc.c | 8 +- drivers/staging/emxx_udc/emxx_udc.h | 1 - drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 +- drivers/usb/chipidea/udc.c | 18 +- drivers/usb/dwc2/Kconfig | 4 +- drivers/usb/dwc2/core.c | 2 +- drivers/usb/dwc2/core.h | 60 +- drivers/usb/dwc2/gadget.c | 1191 +++++++--- drivers/usb/dwc2/hcd.c | 100 +- drivers/usb/dwc2/hw.h | 2 + drivers/usb/dwc2/platform.c | 36 +- drivers/usb/dwc3/Kconfig | 6 - drivers/usb/dwc3/Makefile | 1 - drivers/usb/dwc3/core.c | 2 +- drivers/usb/dwc3/core.h | 5 - drivers/usb/dwc3/dwc3-pci.c | 178 +- drivers/usb/dwc3/ep0.c | 2 +- drivers/usb/dwc3/gadget.c | 82 +- drivers/usb/dwc3/trace.h | 10 + drivers/usb/gadget/Kconfig | 11 + drivers/usb/gadget/composite.c | 2 +- drivers/usb/gadget/function/Makefile | 2 +- drivers/usb/gadget/function/f_fs.c | 119 +- drivers/usb/gadget/function/f_hid.c | 2 +- drivers/usb/gadget/function/f_sourcesink.c | 20 +- drivers/usb/gadget/function/f_uac1.c | 16 +- drivers/usb/gadget/function/f_uvc.c | 136 +- drivers/usb/gadget/function/u_ether.c | 4 +- drivers/usb/gadget/function/u_fs.h | 25 + drivers/usb/gadget/function/u_uac1.c | 3 +- drivers/usb/gadget/function/u_uac1.h | 1 - drivers/usb/gadget/function/u_uvc.h | 52 +- drivers/usb/gadget/function/uvc_configfs.c | 2468 ++++++++++++++++++++ drivers/usb/gadget/function/uvc_configfs.h | 22 + drivers/usb/gadget/udc/at91_udc.c | 8 +- drivers/usb/gadget/udc/at91_udc.h | 1 - drivers/usb/gadget/udc/atmel_usba_udc.c | 147 +- drivers/usb/gadget/udc/atmel_usba_udc.h | 9 + drivers/usb/gadget/udc/bdc/bdc_core.c | 1 - drivers/usb/gadget/udc/bdc/bdc_ep.c | 10 +- drivers/usb/gadget/udc/bdc/bdc_udc.c | 1 + drivers/usb/gadget/udc/dummy_hcd.c | 9 +- drivers/usb/gadget/udc/fsl_qe_udc.c | 2 +- drivers/usb/gadget/udc/fsl_udc_core.c | 5 +- drivers/usb/gadget/udc/lpc32xx_udc.c | 12 +- drivers/usb/gadget/udc/mv_udc_core.c | 3 - drivers/usb/gadget/udc/net2272.c | 7 +- drivers/usb/gadget/udc/net2272.h | 1 - drivers/usb/gadget/udc/net2280.c | 533 ++--- drivers/usb/gadget/udc/net2280.h | 24 +- drivers/usb/gadget/udc/omap_udc.c | 1 + drivers/usb/gadget/udc/pch_udc.c | 1 + drivers/usb/gadget/udc/pxa25x_udc.c | 2 - drivers/usb/gadget/udc/pxa27x_udc.c | 2 - drivers/usb/gadget/udc/r8a66597-udc.c | 1 + drivers/usb/gadget/udc/s3c2410_udc.c | 21 +- drivers/usb/gadget/udc/udc-core.c | 2 + drivers/usb/host/Kconfig | 14 - drivers/usb/host/Makefile | 3 - drivers/usb/host/isp1760-hcd.h | 208 -- drivers/usb/host/isp1760-if.c | 477 ---- drivers/usb/isp1760/Kconfig | 59 + drivers/usb/isp1760/Makefile | 5 + drivers/usb/isp1760/isp1760-core.c | 177 ++ drivers/usb/isp1760/isp1760-core.h | 68 + drivers/usb/{host => isp1760}/isp1760-hcd.c | 278 +-- drivers/usb/isp1760/isp1760-hcd.h | 102 + drivers/usb/isp1760/isp1760-if.c | 309 +++ drivers/usb/isp1760/isp1760-regs.h | 230 ++ drivers/usb/isp1760/isp1760-udc.c | 1498 ++++++++++++ drivers/usb/isp1760/isp1760-udc.h | 106 + drivers/usb/musb/Kconfig | 7 +- drivers/usb/musb/blackfin.c | 2 +- drivers/usb/musb/musb_core.c | 7 + drivers/usb/musb/musb_cppi41.c | 24 +- drivers/usb/musb/musb_debugfs.c | 2 +- drivers/usb/musb/musb_gadget.c | 4 +- drivers/usb/musb/musb_gadget_ep0.c | 2 +- drivers/usb/musb/musb_virthub.c | 7 +- drivers/usb/phy/phy-fsl-usb.c | 35 - drivers/usb/phy/phy-generic.c | 150 +- drivers/usb/phy/phy-generic.h | 10 +- drivers/usb/phy/phy-mxs-usb.c | 86 +- drivers/usb/renesas_usbhs/common.c | 25 +- drivers/usb/renesas_usbhs/common.h | 3 + drivers/usb/renesas_usbhs/fifo.c | 25 +- drivers/usb/renesas_usbhs/mod_gadget.c | 2 + drivers/usb/renesas_usbhs/mod_host.c | 3 +- include/linux/usb/gadget.h | 2 + include/linux/usb/phy.h | 4 +- include/linux/usb/usb_phy_generic.h | 2 + include/uapi/linux/usb/functionfs.h | 1 + .../usb/ffs-aio-example/multibuff/host_app/test.c | 14 +- .../ffs-aio-example/simple/device_app/aio_simple.c | 2 + tools/usb/ffs-aio-example/simple/host_app/test.c | 17 +- 104 files changed, 8148 insertions(+), 2244 deletions(-) create mode 100644 Documentation/ABI/testing/configfs-usb-gadget-uvc create mode 100644 Documentation/usb/gadget-testing.txt create mode 100644 drivers/usb/gadget/function/uvc_configfs.c create mode 100644 drivers/usb/gadget/function/uvc_configfs.h delete mode 100644 drivers/usb/host/isp1760-hcd.h delete mode 100644 drivers/usb/host/isp1760-if.c create mode 100644 drivers/usb/isp1760/Kconfig create mode 100644 drivers/usb/isp1760/Makefile create mode 100644 drivers/usb/isp1760/isp1760-core.c create mode 100644 drivers/usb/isp1760/isp1760-core.h rename drivers/usb/{host => isp1760}/isp1760-hcd.c (91%) create mode 100644 drivers/usb/isp1760/isp1760-hcd.h create mode 100644 drivers/usb/isp1760/isp1760-if.c create mode 100644 drivers/usb/isp1760/isp1760-regs.h create mode 100644 drivers/usb/isp1760/isp1760-udc.c create mode 100644 drivers/usb/isp1760/isp1760-udc.h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html