Hi Greg, here's my pull request for v4.12 merge window. Changes have been tested for Intel Edison where applicable. They have also been soaking for linux-next for a while. Let me know if you want anything to be changed. There will be a conflict on drivers/usb/gadget/udc/{Kconfig,amd5536udc.c} which I solved like this: diff --cc drivers/usb/gadget/udc/Kconfig index c6cc9d3270ac,c90a4a223916..1c14c283cc47 --- a/drivers/usb/gadget/udc/Kconfig +++ b/drivers/usb/gadget/udc/Kconfig @@@ -277,7 -293,8 +293,8 @@@ source "drivers/usb/gadget/udc/bdc/Kcon config USB_AMD5536UDC tristate "AMD5536 UDC" - depends on PCI + depends on USB_PCI + select USB_SNP_CORE help The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. It is a USB Highspeed DMA capable USB device controller. Beside ep0 diff --cc drivers/usb/gadget/udc/amd5536udc.c index 270876b438ab,91d0f1a4dac1..4ecd2f20ea48 --- a/drivers/usb/gadget/udc/amd5536udc.c +++ b/drivers/usb/gadget/udc/amd5536udc.c @@@ -618,17 -579,12 +579,12 @@@ static void udc_free_dma_chain(struct u DBG(dev, "free chain req = %p\n", req); /* do not free first desc., will be done by free for request */ - td_last = req->td_data; - td = phys_to_virt(td_last->next); - for (i = 1; i < req->chain_len; i++) { - dma_pool_free(dev->data_requests, td, - (dma_addr_t)td_last->next); - td_last = td; - td = phys_to_virt(td_last->next); + td = phys_to_virt(addr); + addr_next = (dma_addr_t)td->next; - pci_pool_free(dev->data_requests, td, addr); ++ dma_pool_free(dev->data_requests, td, addr); + addr = addr_next; } - - return ret_val; } /* Frees request packet, called by gadget driver */ Resulting tree still compiles fine, but I can't test. amd5536udc.c :-s cheers The following changes since commit c02ed2e75ef4c74e41e421acb4ef1494671585e8: Linux 4.11-rc4 (2017-03-26 14:15:16 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v4.12 for you to fetch changes up to 48eab1f28d49a3eeda050ad03fddf24a594c1f79: usb: gadget: udc: atmel: Update Kconfig help for fifo_mode = 0 (2017-04-11 10:58:31 +0300) ---------------------------------------------------------------- usb: changes for v4.12 With 51 non-merge commits, this is one of the smallest USB Gadget pull requests. Apart from your expected set of non-critical fixes, and other miscellaneous items, we have most of the changes in dwc3 (52.5%) with all other UDCs following with 34.8%. As for the actual changes, the most important of them are all the recent changes to reduce memory footprint of dwc3, bare minimum dual-role support on dwc3 and reworked endpoint count and initialization routines. ---------------------------------------------------------------- Alexey Khoroshilov (1): usb: gadget: mv_u3d: fix error handling in mv_u3d_probe() Baolin Wang (1): usb: phy: Remove unused config Bruno Herrera (1): usb: dwc2: Add support for STM32F429/439/469 USB OTG HS/FS in FS mode (internal PHY) Bryan O'Donoghue (2): usb: dwc3: refactor gadget endpoint count calculation usb: dwc3: remove dwc3_gadget_init_hw_endpoints Chanwoo Choi (1): usb: mtu3: Replace the extcon API Cristian Birsan (4): usb: gadget: udc: atmel: Minor code cleanup usb: gadget: udc: atmel: Check fifo configuration values against device tree usb: gadget: udc: atmel: Use dev_err() to display EP configuration error usb: gadget: udc: atmel: Update Kconfig help for fifo_mode = 0 Felipe Balbi (12): usb: dwc3: make sure UX_EXIT_PX is cleared usb: dwc3: trace: change format for string to cmd trace usb: gadget: u_ether: use better list accessors usb: gadget: u_ether: conditionally align transfer size usb: dwc3: debugfs: downcase OTG on 'mode' file usb: dwc3: debugfs: make use of dwc3_gadget_link_string() usb: dwc3: debugfs: return strings that match tracepoints usb: dwc3: expose dwc3_trb_type_string() usb: dwc3: ep0: use immediate SETUP on TRB usb: dwc3: ep0: pass dep as argument to internal functions usb: dwc3: ep0: improve handling of unaligned OUT requests usb: dwc3: simplify ZLP handling Gustavo A. R. Silva (2): usb: gadget: udc: avoid use of freed pointer usb: gadget: udc: remove unnecessary variable and update function prototype John Stultz (1): usb: dwc2: Make sure we disconnect the gadget state John Youn (1): usb: dwc3: gadget: Fix starting microframe for ISOC Lu Baolu (1): usb: dwc3: remove dwc3_log_msg trace class Michael Grzeschik (1): fsl_udc_core: add support for devices provided by fsl-mph-dr-of Michal Nazarewicz (2): usb: gadget: mv_udc: clarify a switch with an implicit fall-through usb: gadget: f_fs: simplify ffs_dev name handling Petr Cvek (2): usb: gadget: pxa27x: Remove duplicate function prototype usb: gadget: uvc: Missing files for configfs interface Philipp Zabel (1): usb: dwc2: simplify optional reset handling Prarit Bhargava (1): tools/usb: Add .gitignore file Raviteja Garimella (1): usb: gadget: udc: amd5536: split core and PCI layer Roger Quadros (8): usb: dwc3: make macros safe to expression arguments usb: dwc3: use BIT() macro where possible usb: otg-fsm: Prevent build warning "VDBG" redefined usb: udc: allow adding and removing the same gadget device usb: dwc3: core: add current_dr_role member usb: dwc3: debugfs: remove unnecessary | operator usb: dwc3: core: make dwc3_set_mode() work properly usb: dwc3: Add dual-role support Romain Izard (2): usb: gadget: legacy gadgets are optional usb: gadget: reword configuration choices Shuah Khan (1): usb: dwc3: exynos: change goto labels to meaningful names Vincent Pelletier (1): usb: gadget: f_fs: Fix ExtCompat documentation in uapi header Yoshihiro Shimoda (3): usb: gadget: udc: renesas_usb3: add USB ID signal monitoring usb: gadget: udc: renesas_usb3: add extcon support usb: gadget: udc: renesas_usb3: add support for usb role swap Yuyang Du (1): usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control() .../ABI/testing/sysfs-platform-renesas_usb3 | 15 ++ drivers/usb/common/usb-otg-fsm.c | 7 + drivers/usb/dwc2/core.h | 5 + drivers/usb/dwc2/hcd.c | 16 +- drivers/usb/dwc2/hw.h | 2 + drivers/usb/dwc2/params.c | 19 ++ drivers/usb/dwc2/platform.c | 18 +- drivers/usb/dwc3/Kconfig | 1 + drivers/usb/dwc3/Makefile | 4 + drivers/usb/dwc3/core.c | 109 ++++++--- drivers/usb/dwc3/core.h | 261 +++++++++++---------- drivers/usb/dwc3/debug.h | 28 +++ drivers/usb/dwc3/debugfs.c | 105 +-------- drivers/usb/dwc3/drd.c | 85 +++++++ drivers/usb/dwc3/dwc3-exynos.c | 22 +- drivers/usb/dwc3/dwc3-omap.c | 48 ++-- drivers/usb/dwc3/ep0.c | 151 ++++++------ drivers/usb/dwc3/gadget.c | 197 ++++------------ drivers/usb/dwc3/gadget.h | 20 +- drivers/usb/dwc3/trace.h | 58 +---- drivers/usb/gadget/Kconfig | 11 +- drivers/usb/gadget/function/f_fs.c | 72 +----- drivers/usb/gadget/function/u_ether.c | 24 +- drivers/usb/gadget/function/u_fs.h | 11 +- drivers/usb/gadget/function/uvc_configfs.c | 16 +- drivers/usb/gadget/udc/Kconfig | 24 +- drivers/usb/gadget/udc/Makefile | 3 +- drivers/usb/gadget/udc/amd5536udc.c | 260 +++----------------- drivers/usb/gadget/udc/amd5536udc.h | 36 +++ drivers/usb/gadget/udc/amd5536udc_pci.c | 217 +++++++++++++++++ drivers/usb/gadget/udc/atmel_usba_udc.c | 49 ++-- drivers/usb/gadget/udc/core.c | 1 + drivers/usb/gadget/udc/dummy_hcd.c | 20 +- drivers/usb/gadget/udc/fsl_udc_core.c | 2 + drivers/usb/gadget/udc/mv_u3d_core.c | 15 +- drivers/usb/gadget/udc/mv_udc_core.c | 13 +- drivers/usb/gadget/udc/pxa27x_udc.c | 3 - drivers/usb/gadget/udc/renesas_usb3.c | 164 ++++++++++++- drivers/usb/mtu3/mtu3_dr.c | 19 +- drivers/usb/phy/Kconfig | 7 - drivers/usb/phy/Makefile | 1 - drivers/usb/phy/phy-fsl-usb.c | 7 + include/linux/usb/otg-fsm.h | 15 -- include/uapi/linux/usb/functionfs.h | 2 +- tools/usb/.gitignore | 2 + 45 files changed, 1169 insertions(+), 996 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-platform-renesas_usb3 create mode 100644 drivers/usb/dwc3/drd.c create mode 100644 drivers/usb/gadget/udc/amd5536udc_pci.c create mode 100644 tools/usb/.gitignore -- balbi
Attachment:
signature.asc
Description: PGP signature