Hi Greg, Here's the large usb gadget pull request for v4.5. Please consider merging it to your usb-next branch. We have a total 97 non-merge commits this time, so a substantial amount of code. Here's a dirstat to show you where most of changes are: $ git diff --dirstat 9f9499ae8e64 22.5% drivers/usb/dwc2/ 8.7% drivers/usb/dwc3/ 9.5% drivers/usb/gadget/function/ 35.9% drivers/usb/gadget/udc/ 6.2% drivers/usb/phy/ 5.0% drivers/usb/renesas_usbhs/ 7.2% drivers/usb/ The following changes since commit 9f9499ae8e6415cefc4fe0a96ad0e27864353c89: Linux 4.4-rc5 (2015-12-13 17:42:58 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v4.5 for you to fetch changes up to 5072cfc40a80cea3749fd3413b3896630d8c787e: usb: dwc3: of-simple: fix build warning on !PM (2015-12-22 21:58:26 -0600) ---------------------------------------------------------------- usb: patches for v4.5 A ton of improvements to dwc2 have been made. The driver should be a lot more stable on v4.5 then ever before. Our good old dwc3 got a few cleanups and misc fixes and also added support to Xilinx's integration of this IP. Yoshihiro Shimoda gives us support for a new USB3 peripheral controller from Renesas. Other than these, the usual misc fixes all over the place. ---------------------------------------------------------------- Baolin Wang (1): usb: gadget: Add the console support for usb-to-serial port Bin Liu (3): usb: of: add an api to get dr_mode by the phy node usb: phy: correct the am335x phy header filename usb: phy: phy-am335x: bypass first VBUS sensing for host-only mode David Eccher (1): usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write Deepa Dinamani (1): usb: misc: usbtest: Remove timeval usage Douglas Anderson (8): usb: dwc2: host: Fix missing device insertions usb: dwc2: host: Support immediate retries for split transactions usb: dwc2: host: Add missing spinlock in dwc2_hcd_reset_func() usb: dwc2: host: Clear interrupts before handling them usb: dwc2: Restore GUSBCFG in dwc2_get_hwparams() usb: dwc2: Avoid double-reset at boot time usb: dwc2: Speed dwc2_get_hwparams() on some host-only ports usb: dwc2: Avoid more calls to dwc2_core_reset() Du, Changbin (2): usb: dwc2: fix transfer stop programming for out endpoint usb: gadget: forbid queuing request to a disabled ep Felipe Balbi (13): usb: dwc3: gadget: simplify dwc3_gadget_ep_queue() usb: dwc3: gadget: purge dev_dbg() calls usb: dwc3: core: purge dev_dbg() calls usb: dwc3: ep0: purge dev_dbg() calls usb: dwc3: gadget: simplify next_request() return check usb: dwc3: ep0: fix setup_packet_pending initialization usb: dwc3: add generic OF glue layer usb: dwc3: remove dwc3-qcom in favor of dwc3-of-simple usb: dwc3: gadget: handle request->zero usb: dwc3: trace: show request flags usb: dwc3: gadget: pass a condition to dev_WARN_ONCE() usb: of: fix build breakage on !OF usb: dwc3: of-simple: fix build warning on !PM Felipe F. Tonello (6): usb: gadget: f_midi: remove duplicated code usb: gadget: define free_ep_req as universal function usb: gadget: gmidi: Cleanup legacy code usb: gadget: f_midi: set altsettings only for MIDIStreaming interface usb: gadget: f_midi: fail if set_alt fails to allocate requests usb: gadget: f_midi: pre-allocate IN requests Geert Uytterhoeven (1): usb: phy: Remove unused Renesas R-Car (Gen1) USB PHY driver Geliang Tang (1): usb: gadget: bcm63xx_udc: use list_for_each_entry_safe Geyslan G. Bem (2): usb: gadget: s3c-hsudc: remove redundant condition usb: musb: gadget: remove redundant condition Gregory Herrero (12): usb: dwc2: host: ensure filling of isoc desc is correctly done usb: dwc2: host: set active bit in isochronous descriptors usb: dwc2: host: rework isochronous halt path usb: dwc2: host: fix use of qtd after free in desc dma mode usb: dwc2: host: spinlock release channel usb: dwc2: host: add function to compare frame index usb: dwc2: host: program descriptor for next frame usb: dwc2: host: always increment available host channel during release usb: dwc2: host: process all completed urbs usb: dwc2: host: avoid usage of dma_alloc_coherent with irqs disabled usb: dwc2: host: use kmem cache to allocate descriptors usb: dwc2: gadget: don't overwrite DCTL register on NAKEFF interrupts Heiko Stübner (1): usb: dwc2: add shutdown callback to platform variant Igor Kotrasinski (1): usb: gadget: composite: remove redundant bcdUSB setting in legacy John Youn (15): usb: dwc2: Reorder AHBIDLE and CSFTRST in dwc2_core_reset() usb: dwc2: Rename dwc2_core_reset() usb: dwc2: Add dwc2_core_reset() usb: dwc2: Add functions to check the HW OTG config usb: dwc2: Fix dr_mode validation usb: dwc2: Move mode querying functions into core.h usb: dwc2: Move reset into dwc2_get_hwparams() usb: dwc2: Add functions to set and clear force mode usb: dwc2: Improve handling of host and device hwparams usb: dwc2: gadget: Use hw params from core usb: dwc2: gadget: Replace dwc2_hsotg_corereset() usb: dwc2: Reduce delay when forcing mode in reset usb: dwc2: Remove redundant reset in probe usb: dwc2: gadget: Remove call to dwc2_hsotg_init() usb: dwc3: gadget: don't send extra ZLP Marek Vasut (1): usb: dwc2: gadget: Repair DSTS register decoding Mian Yousaf Kaukab (2): usb: dwc2: host: enable descriptor dma for fs devices usb: dwc2: host: fix descriptor list address masking Mike Looijmans (1): usb: gadget: ether: Allow changing the MTU Peter Chen (5): usb: gadget: f_sourcesink: add queue depth Documentation: usb: gadget-testing: add description for depth of queue usb: misc: usbtest: improve the description for error message Doc: ABI: configfs-usb-gadget-sourcesink: add two entries for depth of queue usb: gadget: f_sourcesink: quit if usb_ep_queue returns error Rasmus Villemoes (1): usb: musb: convert printk to pr_* Robert Baldyga (1): Documentation: usb: update usb-tools repository address Ruslan Bilovol (4): usb: gadget: bind UDC by name passed via usb_gadget_driver structure usb: gadget: configfs: pass UDC name via usb_gadget_driver struct usb: gadget: udc-core: remove unused usb_udc_attach_driver() usb: gadget: udc-core: independent registration of gadgets and gadget drivers Simon Horman (3): usb: renesas_usbhs: add SoC names to compatibility string documentation usb: renesas_usbhs: add fallback compatibility strings usb: renesas_usbhs: add device tree support for r8a779[23] Subbaraya Sundeep Bhatta (1): usb: doc: dwc3-xilinx: Add devicetree bindings Tony Lindgren (2): usb: musb: core: Fix handling of the phy notifications usb: musb: Fix unbalanced pm_runtime_enable Uwe Kleine-König (1): usb: musb: core: call init and shutdown for the usb phy Vladimir Zapolskiy (1): usb: gadget: lpc32xxx_udc: clean up and sort include directives out Yoshihiro Shimoda (3): usb: renesas_usbhs: Modify pipe configuration usb: renesas_usbhs: Modify ep.caps.type_xxx and usb_ep_maxpacket_limit() usb: gadget: renesas_usb3: add support for Renesas USB3.0 peripheral controller Yunzhi Li (2): usb: dwc2: reset dwc2 core before dwc2_get_hwparams() usb: dwc2: reduce dwc2 driver probe time Zhangfei Gao (1): usb: dwc2: add support of hi6220 .../ABI/testing/configfs-usb-gadget-sourcesink | 2 + Documentation/devicetree/bindings/usb/dwc2.txt | 1 + .../devicetree/bindings/usb/dwc3-xilinx.txt | 33 + .../devicetree/bindings/usb/renesas_usb3.txt | 23 + .../devicetree/bindings/usb/renesas_usbhs.txt | 22 +- Documentation/usb/gadget-testing.txt | 4 +- drivers/phy/phy-twl4030-usb.c | 32 +- drivers/usb/common/common.c | 60 +- drivers/usb/dwc2/core.c | 429 ++++- drivers/usb/dwc2/core.h | 66 +- drivers/usb/dwc2/core_intr.c | 53 +- drivers/usb/dwc2/gadget.c | 109 +- drivers/usb/dwc2/hcd.c | 128 +- drivers/usb/dwc2/hcd.h | 31 +- drivers/usb/dwc2/hcd_ddma.c | 240 ++- drivers/usb/dwc2/hcd_intr.c | 39 +- drivers/usb/dwc2/hcd_queue.c | 2 +- drivers/usb/dwc2/hw.h | 4 - drivers/usb/dwc2/platform.c | 158 +- drivers/usb/dwc3/Kconfig | 17 +- drivers/usb/dwc3/Makefile | 2 +- drivers/usb/dwc3/core.c | 8 +- drivers/usb/dwc3/core.h | 3 + drivers/usb/dwc3/dwc3-of-simple.c | 180 ++ drivers/usb/dwc3/dwc3-qcom.c | 130 -- drivers/usb/dwc3/ep0.c | 12 +- drivers/usb/dwc3/gadget.c | 133 +- drivers/usb/dwc3/trace.h | 11 +- drivers/usb/gadget/Kconfig | 6 + drivers/usb/gadget/configfs.c | 29 +- drivers/usb/gadget/function/f_midi.c | 192 +- drivers/usb/gadget/function/f_sourcesink.c | 149 +- drivers/usb/gadget/function/g_zero.h | 7 +- drivers/usb/gadget/function/u_ether.c | 18 +- drivers/usb/gadget/function/u_serial.c | 258 +++ drivers/usb/gadget/legacy/acm_ms.c | 2 +- drivers/usb/gadget/legacy/audio.c | 2 +- drivers/usb/gadget/legacy/cdc2.c | 2 +- drivers/usb/gadget/legacy/ether.c | 2 +- drivers/usb/gadget/legacy/g_ffs.c | 2 +- drivers/usb/gadget/legacy/gmidi.c | 12 +- drivers/usb/gadget/legacy/hid.c | 2 +- drivers/usb/gadget/legacy/inode.c | 3 +- drivers/usb/gadget/legacy/mass_storage.c | 2 +- drivers/usb/gadget/legacy/multi.c | 2 +- drivers/usb/gadget/legacy/ncm.c | 2 +- drivers/usb/gadget/legacy/nokia.c | 2 +- drivers/usb/gadget/legacy/printer.c | 2 +- drivers/usb/gadget/legacy/serial.c | 2 +- drivers/usb/gadget/legacy/tcm_usb_gadget.c | 2 +- drivers/usb/gadget/legacy/webcam.c | 2 +- drivers/usb/gadget/legacy/zero.c | 14 +- drivers/usb/gadget/u_f.c | 1 - drivers/usb/gadget/u_f.h | 10 +- drivers/usb/gadget/udc/Kconfig | 11 + drivers/usb/gadget/udc/Makefile | 1 + drivers/usb/gadget/udc/bcm63xx_udc.c | 7 +- drivers/usb/gadget/udc/lpc32xx_udc.c | 35 +- drivers/usb/gadget/udc/renesas_usb3.c | 1975 ++++++++++++++++++++ drivers/usb/gadget/udc/s3c-hsudc.c | 2 +- drivers/usb/gadget/udc/udc-core.c | 79 +- drivers/usb/misc/usbtest.c | 233 ++- drivers/usb/musb/musb_core.c | 48 +- drivers/usb/musb/musb_core.h | 2 + drivers/usb/musb/musb_gadget.c | 5 +- drivers/usb/musb/omap2430.c | 30 +- drivers/usb/phy/Kconfig | 14 +- drivers/usb/phy/Makefile | 1 - drivers/usb/phy/phy-am335x-control.c | 16 +- .../{am35x-phy-control.h => phy-am335x-control.h} | 8 +- drivers/usb/phy/phy-am335x.c | 17 +- drivers/usb/phy/phy-rcar-usb.c | 247 --- drivers/usb/phy/phy-twl6030-usb.c | 30 +- drivers/usb/renesas_usbhs/common.c | 78 +- drivers/usb/renesas_usbhs/mod_gadget.c | 19 +- drivers/usb/renesas_usbhs/mod_host.c | 11 +- drivers/usb/renesas_usbhs/pipe.c | 112 +- drivers/usb/renesas_usbhs/pipe.h | 1 - include/linux/platform_data/usb-rcar-phy.h | 28 - include/linux/usb/gadget.h | 11 +- include/linux/usb/musb-omap.h | 30 - include/linux/usb/musb.h | 15 + include/linux/usb/of.h | 6 + include/linux/usb/renesas_usbhs.h | 18 +- 84 files changed, 4408 insertions(+), 1341 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/dwc3-xilinx.txt create mode 100644 Documentation/devicetree/bindings/usb/renesas_usb3.txt create mode 100644 drivers/usb/dwc3/dwc3-of-simple.c delete mode 100644 drivers/usb/dwc3/dwc3-qcom.c create mode 100644 drivers/usb/gadget/udc/renesas_usb3.c rename drivers/usb/phy/{am35x-phy-control.h => phy-am335x-control.h} (68%) delete mode 100644 drivers/usb/phy/phy-rcar-usb.c delete mode 100644 include/linux/platform_data/usb-rcar-phy.h delete mode 100644 include/linux/usb/musb-omap.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