Hi Greg, Here's the large gadget pull request for v4.4. All patches have been in next for a while and should be safe to apply. Let me know if you want any changes to this pull request. cheers The following changes since commit 9ffecb10283508260936b96022d4ee43a7798b4c: Linux 4.3-rc3 (2015-09-27 07:50:08 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v4.4 for you to fetch changes up to 81e9d14a53eb1abfbe6ac828a87a2deb4702b5f1: usb: gadget: net2280: restore ep_cfg after defect7374 workaround (2015-10-19 09:25:53 -0500) ---------------------------------------------------------------- usb: patches for v4.4 merge window This pull request is large with a total of 136 non-merge commits. Because of its size, we will only describe the big things in broad terms. Many will be happy to know that dwc3 is now almost twice as fast after some profiling and speed improvements. Also in dwc3, John Youn from Synopsys added support for their new DWC USB3.1 IP Core and the HAPS platform which can be used to validate it. A series of patches from Robert Baldyga cleaned up uses of ep->driver_data as a flag for "claimed endpoint" in favor of the new ep->claimed flag. Sudip Mukherjee fixed a ton of really old problems on the amd5536udc driver. That should make a few people happy. Heikki Krogerus worked on converting dwc3 to the unified device property interface. Together with these, there's a ton of non-critical fixes, typos and stuff like that. Signed-off-by: Felipe Balbi <balbi@xxxxxx> ---------------------------------------------------------------- Alan Stern (1): usb: misc: usbtest: format the data pattern according to max packet size Alexandre Belloni (1): usb: gadget: at91_udc: move at91_udc_data in at91_udc.h Antti Seppälä (1): usb: dwc2: Use platform endianness when accessing registers Bin Liu (2): usb: musb: set the controller speed based on the config setting usb: musb: dsps: control musb speed based on dts setting Doug Anderson (1): usb: dwc2: host: Fix use after free w/ simultaneous irqs Douglas Anderson (1): usb: dwc2: host: Protect PCGCTL with lock in dwc2_port_resume() Felipe Balbi (12): usb: dwc3: gadget: move trace_dwc3_ep_queue() usb: dwc3: gadget: start requests as soon as they come usb: dwc3: gadget: clear DWC3_PENDING_REQUEST when request is queued usb: dwc3: gadget: improve ep_queue's error reporting usb: gadget: mass_storage: allow for deeper queue lengths usb: dwc2: rename all s3c_* to dwc2_* usb: gadget: pch-udc: fix lock usb: dwc3: gadget: start transfer on XFER_COMPLETE usb: dwc3: gadget: use update transfer command usb: dwc3: gadget: use Update Transfer from Xfer In Progress usb: dwc3: gadget: remove unnecessary _irqsave() Revert "usb: dwc3: gadget: remove unnecessary _irqsave()" Felipe F. Tonello (1): usb: gadget: f_midi: check for error on usb_ep_queue Geliang Tang (1): usb: gadget: fix a trivial typo Gregory Herrero (22): usb: dwc2: host: don't clear hprt0 status bits when exiting hibernation usb: dwc2: host: create a function to handle port_resume usb: dwc2: host: add flag to reflect bus state usb: dwc2: host: enter hibernation during bus suspend usb: dwc2: host: update hcd and lx_state during start/stop callbacks usb: dwc2: host: avoid resetting lx_state to L3 during disconnect usb: dwc2: host: ignore wakeup interrupt if hibernation supported usb: dwc2: host: resume only if bus is suspended usb: dwc2: host: reset frame number after suspend usb: dwc2: host: disconnect hcd prior stopping it usb: dwc2: host: disable interrupt during stop usb: dwc2: host: clear pending interrupts prior hibernation usb: dwc2: host: wait 3ms for controller stabilization usb: dwc2: host: correctly dump urb isochronous descriptors usb: dwc2: host: use correct frame number during qh init usb: dwc2: host: kill remaining urbs using -ECONNRESET status usb: dwc2: gadget: ensure lx_state corresponds to current state usb: dwc2: gadget: don't modify pullup state in host mode usb: dwc2: gadget: set op_state in vbus_session call usb: dwc2: gadget: abort core init if core_reset fails usb: dwc2: gadget: unmask idstschng interrupt only if controller supports it usb: dwc2: gadget: exit hibernation before power down Hans de Goede (1): musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY Heikki Krogerus (5): usb: common: of_usb_get_maximum_speed to usb_get_maximum_speed usb: dwc3: st: prepare the driver for generic usb_get_dr_mode function usb: common: of_usb_get_dr_mode to usb_get_dr_mode usb: dwc3: core: convert to unified device property interface usb: dwc3: pci: passing forward the ACPI companion Igor Kotrasinski (1): usb: gadget: composite: fill bcdUSB for any gadget max speed Ivan T. Ivanov (1): usb: phy: qcom: Switch to new extcon framework API John Youn (7): usb: dwc3: pci: Add the Synopsys HAPS AXI Product ID usb: dwc3: pci: Add the PCI Product ID for Synopsys USB 3.1 usb: dwc3: Support Synopsys USB 3.1 IP usb: dwc3: pci: trivial: Formatting usb: dwc3: pci: Add platform data for Synopsys HAPS usb: dwc3: Add dis_enblslpm_quirk usb: dwc3: pci: Set enblslpm quirk for Synopsys platforms Krzysztof Opasiak (4): usb: gadget: loopback: Fix show methods for attributes usb: gadget: SourceSink: Fix show methods for attributes usb: gadget: loopback: fix: Don't share qlen and buflen between instances usb: gadget: loopback: Fix looping back logic implementation Marek Szyprowski (5): usb: dwc2: remove double call to dwc2_hsotg_of_probe usb: dwc2: remove non-functional clock gating usb: dwc2: fix unbalanced phy control usb: dwc2: remove no longer needed init_mutex usb: dwc2: refactor common low-level hw code to platform.c Mian Yousaf Kaukab (12): usb: dwc2: host: add disconnect interrupt to host only interrupts usb: dwc2: gadget: initialize op_state for peripheral only configuration usb: dwc2: force dr_mode in case of configuration mismatch usb: dwc2: gadget: ignore stall check for ep0 usb: dwc2: gadget: print complete setup packet usb: dwc2: gadget: stop current transfer on dequeue usb: dwc2: gadget: kill ep0 requests before reinitializing core usb: dwc2: gadget: only reset core after addressed state usb: dwc2: gadget: handle reset interrupt before endpoint interrupts usb: dwc2: exit hibernation on session request usb: dwc2: fix duplicate argument warning usb: gadget: net2280: restore ep_cfg after defect7374 workaround Mike Looijmans (1): usb: gadget: ether: Allow jumbo frames Nikhil Badola (2): Documentation: dt: dwc3: Add snps,quirk-frame-length-adjustment property usb: dwc3: Add frame length adjustment quirk Peter Chen (8): usb: misc: usbtest: allocate size of urb array according to user parameter usb: misc: usbtest: delete useless memset for urbs array usb: misc: usbtest: using the same data format among write/compare/output usb: gadget: f_sourcesink: format data pattern according to max packet size tools: usb: testusb: change the help text tools: usb: testusb: change the default value for length from 512 to 1024 usb: phy: change some comments usb: misc: usbtest: add bulk queue test Robert Baldyga (27): usb: gadget: fix few outdated comments usb: gadget: f_ncm: obtain cdev from function instead of driver_data usb: gadget: epautoconf: add usb_ep_autoconfig_release() function usb: gadget: introduce 'enabled' flag in struct usb_ep usb: gadget: f_ecm: eliminate abuse of ep->driver data usb: gadget: f_acm: eliminate abuse of ep->driver data usb: gadget: f_eem: eliminate abuse of ep->driver data usb: gadget: f_hid: eliminate abuse of ep->driver data usb: gadget: f_loopback: eliminate abuse of ep->driver data usb: gadget: f_mass_storage: eliminate abuse of ep->driver data usb: gadget: f_midi: eliminate abuse of ep->driver data usb: gadget: f_ncm: eliminate abuse of ep->driver data usb: gadget: f_obex: eliminate abuse of ep->driver data usb: gadget: f_phonet: eliminate abuse of ep->driver data usb: gadget: f_printer: eliminate abuse of ep->driver data usb: gadget: f_rndis: eliminate abuse of ep->driver data usb: gadget: f_serial: eliminate abuse of ep->driver data usb: gadget: f_sourcesink: eliminate abuse of ep->driver data usb: gadget: f_subset: eliminate abuse of ep->driver data usb: gadget: f_uac1: eliminate abuse of ep->driver data usb: gadget: f_uac2: eliminate abuse of ep->driver data usb: gadget: f_uvc: eliminate abuse of ep->driver data usb: gadget: u_ether: eliminate abuse of ep->driver data usb: gadget: u_serial: eliminate abuse of ep->driver data usb: gadget: legacy: dbgp: eliminate abuse of ep->driver data usb: gadget: legacy: tcm: eliminate abuse of ep->driver data usb: gadget: f_sourcesink: fix function params handling Roman Alyautdin (1): usb: musb: core: add common method of getting vbus status Roman Bacik (1): usb: dwc2: gadget: parity fix in isochronous mode Sekhar Nori (1): usb: dwc3: support for pinctrl state change during system sleep Sudip Mukherjee (13): usb: gadget: amd5536udc: rewrite init_dma_pools usb: gadget: amd5536udc: fix error path usb: gadget: amd5536udc: use WARN_ON usb: gadget: amd5536udc: use free_dma_pools usb: gadget: amd5536udc: remove unnecessary conditions usb: gadget: amd5536udc: remove forward declaration of udc_probe usb: gadget: amd5536udc: remove forward declaration of udc_remote_wakeup usb: gadget: amd5536udc: remove forward declaration of udc_create_dma_chain usb: gadget: amd5536udc: remove forward declaration of udc_free_dma_chain usb: gadget: amd5536udc: remove forward declaration of udc_pci_* usb: gadget: amd5536udc: remove forward declaration of udc_basic_init usb: gadget: amd5536udc: NULL comparison usb: gadget: at91_udc: mention proper dependency Ville Syrjälä (1): Revert "usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs" WEN Pingbo (1): usb: gadget: dummy_hcd: replace timeval with timespec64 Yunzhi Li (1): usb: dwc2: gadget: fix a memory use-after-free bug Documentation/devicetree/bindings/usb/dwc3.txt | 5 + arch/arm/mach-s3c64xx/mach-crag6410.c | 4 +- arch/arm/mach-s3c64xx/mach-smartq.c | 4 +- arch/arm/mach-s3c64xx/mach-smdk6410.c | 4 +- arch/arm/plat-samsung/devs.c | 6 +- drivers/usb/chipidea/core.c | 4 +- drivers/usb/common/common.c | 59 +- drivers/usb/dwc2/core.c | 478 ++++---- drivers/usb/dwc2/core.h | 107 +- drivers/usb/dwc2/core_intr.c | 106 +- drivers/usb/dwc2/debugfs.c | 72 +- drivers/usb/dwc2/gadget.c | 1422 ++++++++++++------------ drivers/usb/dwc2/hcd.c | 346 ++++-- drivers/usb/dwc2/hcd.h | 15 +- drivers/usb/dwc2/hcd_ddma.c | 10 +- drivers/usb/dwc2/hcd_intr.c | 152 ++- drivers/usb/dwc2/hcd_queue.c | 21 +- drivers/usb/dwc2/hw.h | 1 + drivers/usb/dwc2/platform.c | 236 +++- drivers/usb/dwc3/core.c | 104 +- drivers/usb/dwc3/core.h | 27 + drivers/usb/dwc3/dwc3-pci.c | 39 +- drivers/usb/dwc3/dwc3-st.c | 12 +- drivers/usb/dwc3/gadget.c | 100 +- drivers/usb/dwc3/platform_data.h | 3 + drivers/usb/gadget/Kconfig | 2 +- drivers/usb/gadget/composite.c | 6 +- drivers/usb/gadget/epautoconf.c | 25 +- drivers/usb/gadget/function/f_acm.c | 23 +- drivers/usb/gadget/function/f_ecm.c | 31 +- drivers/usb/gadget/function/f_eem.c | 16 +- drivers/usb/gadget/function/f_hid.c | 12 +- drivers/usb/gadget/function/f_loopback.c | 162 ++- drivers/usb/gadget/function/f_mass_storage.c | 10 +- drivers/usb/gadget/function/f_midi.c | 26 +- drivers/usb/gadget/function/f_ncm.c | 29 +- drivers/usb/gadget/function/f_obex.c | 10 +- drivers/usb/gadget/function/f_phonet.c | 8 +- drivers/usb/gadget/function/f_printer.c | 2 - drivers/usb/gadget/function/f_rndis.c | 24 +- drivers/usb/gadget/function/f_serial.c | 10 +- drivers/usb/gadget/function/f_sourcesink.c | 167 ++- drivers/usb/gadget/function/f_subset.c | 10 +- drivers/usb/gadget/function/f_uac1.c | 4 - drivers/usb/gadget/function/f_uac2.c | 11 - drivers/usb/gadget/function/f_uvc.c | 42 +- drivers/usb/gadget/function/u_ether.c | 11 +- drivers/usb/gadget/function/u_serial.c | 5 - drivers/usb/gadget/legacy/dbgp.c | 18 +- drivers/usb/gadget/legacy/tcm_usb_gadget.c | 18 - drivers/usb/gadget/udc/Kconfig | 2 +- drivers/usb/gadget/udc/amd5536udc.c | 609 +++++----- drivers/usb/gadget/udc/amd5536udc.h | 5 +- drivers/usb/gadget/udc/at91_udc.h | 8 + drivers/usb/gadget/udc/dummy_hcd.c | 6 +- drivers/usb/gadget/udc/net2280.c | 2 +- drivers/usb/gadget/udc/pch_udc.c | 10 +- drivers/usb/misc/usbtest.c | 156 ++- drivers/usb/musb/musb_core.c | 29 +- drivers/usb/musb/musb_core.h | 2 +- drivers/usb/musb/musb_dsps.c | 15 +- drivers/usb/musb/sunxi.c | 14 +- drivers/usb/phy/phy-msm-usb.c | 2 +- drivers/usb/phy/phy-qcom-8x16-usb.c | 21 +- drivers/usb/phy/phy-tegra-usb.c | 2 +- include/linux/platform_data/atmel.h | 9 - include/linux/platform_data/s3c-hsotg.h | 10 +- include/linux/usb/ch9.h | 11 +- include/linux/usb/gadget.h | 29 +- include/linux/usb/musb.h | 2 +- include/linux/usb/of.h | 12 - include/linux/usb/otg.h | 9 + include/linux/usb/phy.h | 8 +- tools/usb/testusb.c | 10 +- 74 files changed, 2747 insertions(+), 2255 deletions(-) -- 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