[GIT PULL] USB driver patches for 4.12-rc1

From: Greg KH
Date: Thu May 04 2017 - 20:17:34 EST


The following changes since commit a71c9a1c779f2499fb2afc0553e543f18aff6edf:

Linux 4.11-rc5 (2017-04-02 17:23:54 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ tags/usb-4.12-rc1

for you to fetch changes up to c034a43e72dda58e4a184d71f5502ef356e04453:

staging: typec: Fairchild FUSB302 Type-c chip driver (2017-04-28 11:29:00 +0200)

----------------------------------------------------------------
USB patches for 4.12-rc1

Here is the big USB patchset for 4.12-rc1.

Lots of good stuff here, after many many many attempts, the kernel
finally has a working typeC interface, many thanks to the Heikki and
Guenter and others who have taken the time to get this merged. It
wasn't an easy path for them at all.

There's also a staging driver that uses this new api, which is why it's
coming in through this tree.

Along with that, there's the usual huge number of changes for gadget
drivers, xhci, and other stuff. Johan also finally refactored pretty
much every driver that was looking at USB endpoints to do it in a common
way, which will help prevent any "badly-formed" devices from causing
problems in drivers. That too wasn't a simple task.

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

----------------------------------------------------------------
Ajay Kaher (1):
USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously

Alexandre Bailon (3):
usb: musb: Use shared irq
usb: musb: Add support of CPPI 4.1 DMA controller to DA8xx
usb: musb: musb_cppi41: Workaround DMA stall issue during teardown

Alexey Brodkin (1):
usb: Make sure usb/phy/of gets built-in

Alexey Khoroshilov (1):
usb: gadget: mv_u3d: fix error handling in mv_u3d_probe()

Andrew Bresticker (1):
usb: xhci: plat: Enable async suspend/resume

Arnd Bergmann (6):
usb: separate out sysdev pointer from usb_bus
usb: chipidea: use bus->sysdev for DMA configuration
usb: ehci: fsl: use bus->sysdev for DMA configuration
usb: xhci: use bus->sysdev for DMA configuration
usb: musb: don't mark of_dev_auxdata as initdata
usb: host: xhci: remove #ifdef around PM functions

Baolin Wang (3):
usb: phy: Remove unused config
usb: phy: Remove unused config
usb: host: plat: Enable xHCI plat runtime PM

BjÃrn Mork (1):
USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"

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

Christoph Hellwig (1):
xhci: switch to pci_alloc_irq_vectors

Chunfeng Yun (7):
phy: phy-mt65xx-usb3: improve RX detection stable time
phy: phy-mt65xx-usb3: increase LFPS filter threshold
phy: phy-mt65xx-usb3: split SuperSpeed port into two ones
phy: phy-mt65xx-usb3: move clock from phy node into port nodes
phy: phy-mt65xx-usb3: add support for new version phy
phy: phy-mt65xx-usb3: disable 100uA extraction from SS port to HS port
dt-bindings: phy-mt65xx-usb: add support for new version phy

Colin Ian King (1):
phy: rockchip-inno-usb2: fix spelling mistake: "connecetd" -> "connected"

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

Elena Reshetova (3):
drivers, usb: convert ffs_data.ref from atomic_t to refcount_t
drivers, usb: convert dev_data.count from atomic_t to refcount_t
drivers, usb: convert ep_data.count from atomic_t to refcount_t

Felipe Balbi (16):
usb: dwc3: make sure UX_EXIT_PX is cleared
usb: host: xhci: print device slot from URB tracers
usb: host: xhci: extract xhci_slot_state_string()
usb: host: xhci: add Slot and EP Context tracers
usb: host: xhci: fix up Control Transfer TRB decoder
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

Gerd Hoffmann (1):
ohci-pci: add qemu quirk

Greg Kroah-Hartman (6):
Merge 4.11-rc4 into usb-next
Merge 4.11-rc5 into usb-next
Merge tag 'phy-for-4.12' of git://git.kernel.org/.../kishon/linux-phy into usb-next
Merge tag 'usb-for-v4.12' of git://git.kernel.org/.../balbi/usb into usb-next
Merge tag 'usb-ci-v4.12-rc1' of git://git.kernel.org/.../peter.chen/usb into usb-next
Merge tag 'usb-serial-4.12-rc1' of git://git.kernel.org/.../johan/usb-serial into usb-next

Gregory CLEMENT (2):
usb: host: Allow to build ehci orion with mvebu SoCs
ARM64: dts: marvell: armada-37xx: Add USB2 node

Guenter Roeck (4):
usb: hub: Fix error loop seen after hub communication errors
usb: hub: Do not attempt to autosuspend disconnected devices
staging: typec: USB Type-C Port Manager (tcpm)
staging: typec: Type-C Port Controller Interface driver (tcpci)

Guoqing Zhang (4):
usb: xhci: Add helper function xhci_set_power_on().
usb: xhci: Add helper function xhci_disable_slot().
usb: xhci: Expose xhci_start() function.
usb: xhci: Add port test modes support for usb2.

Gustavo A. R. Silva (7):
usb: atm: remove unnecessary code
usb: misc: remove unnecessary code
usb: misc: remove unnecessary code
usb: misc: add missing continue in switch
usb: misc: refactor code
usb: gadget: udc: avoid use of freed pointer
usb: gadget: udc: remove unnecessary variable and update function prototype

Heikki Krogerus (3):
lib/string: add sysfs_match_string helper
usb: USB Type-C connector class
usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY

Hua Jing (1):
usb: orion-ehci: Add support for the Armada 3700

Ian Abbott (5):
USB: serial: ftdi_sio: don't access latency timer on old chips
USB: serial: ftdi_sio: detect BM chip with iSerialNumber bug
USB: serial: ftdi_sio: only allow valid latency timer values
USB: serial: ftdi_sio: only allow valid event_char values
USB: serial: ftdi_sio: allow other bases for "event_char"

Icenowy Zheng (5):
dt: bindings: add pmu0 regs for USB PHYs on Allwinner H3/V3s/A64
phy: sun4i-usb: change PHYCTL register clearing code
phy: sun4i-usb: add PHYCTL offset for H3 SoC
phy: sun4i-usb: support automatically switch PHY0 route to MUSB/HCI
phy: sun4i-usb: enable PHY0 dual route switching for A64 USB PHY

Ivan Safonov (1):
usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment()

Jiri Slaby (1):
USB: misc: sisusb_con: fix coccinelle warning

Joel Stanley (1):
xhci: Do not halt the host until both HCD have disconnected their devices.

Johan Hovold (77):
USB: serial: clean up probe error paths
USB: serial: clean up endpoint and port-counter types
USB: serial: refactor and clean up endpoint handling
USB: serial: allow up to 16 ports per device
USB: serial: replace runtime overflow check
USB: serial: add endpoint sanity check to core
USB: serial: ark3116: simplify endpoint sanity check
USB: serial: cyberjack: simplify endpoint check
USB: serial: digi_acceleport: simplify endpoint check
USB: serial: io_edgeport: simplify and tighten endpoint check
USB: serial: iuu_phoenix: simplify endpoint check
USB: serial: keyspan_pda: simplify endpoint check
USB: serial: kobil_sct: simplify endpoint check
USB: serial: mos7720: simplify endpoint check
USB: serial: omninet: simplify endpoint check
USB: serial: opticon: simplify endpoint check
USB: serial: oti6858: simplify endpoint check
USB: serial: pl2303: simplify endpoint check
USB: serial: spcp8x5: simplify endpoint check
USB: serial: symbolserial: simplify endpoint check
USB: serial: whiteheat: simplify endpoint check
USB: core: add helpers to retrieve endpoints
USB: core: add helpers to retrieve endpoints in reverse order
USB: adutux: drop redundant sanity check
USB: adutux: fix up error paths
USB: adutux: refactor endpoint retrieval
USB: appledisplay: refactor endpoint retrieval
USB: chaoskey: refactor endpoint retrieval
USB: ftdi-elan: refactor endpoint retrieval
USB: idmouse: refactor endpoint retrieval
USB: iowarrior: refactor endpoint retrieval
USB: ldusb: refactor endpoint retrieval
USB: legousbtower: refactor endpoint retrieval
USB: usblcd: refactor endpoint retrieval
USB: uss720: add debug endpoint-type check
USB: yurex: refactor endpoint retrieval
USB: usb-skeleton: refactor endpoint retrieval
USB: cdc-acm: refactor endpoint retrieval
USB: storage: refactor endpoint retrieval
USB: usblp: refactor endpoint retrieval
USB: core: fix up kerneldoc comment
USB: serial: allow subdrivers to modify port-endpoint mapping
USB: serial: add probe callback to generic driver
USB: serial: add calc_num_ports callback to generic driver
USB: serial: relax generic driver bulk-endpoint requirement
USB: serial: move pl2303 hack out of usb-serial core
USB: serial: pl2303: clean up legacy endpoint hack
USB: serial: aircable: use calc_num_endpoints to verify endpoints
USB: serial: f81534: use calc_num_endpoints to verify endpoints
USB: serial: f81534: abort probe on early errors
USB: serial: ipaq: use calc_num_endpoints to verify endpoints
USB: serial: ipaq: always register a single port
USB: serial: io_ti: use calc_num_endpoints to verify endpoints
USB: serial: io_ti: always require a bulk-out endpoint
USB: serial: io_ti: verify interrupt endpoint at probe
USB: serial: io_ti: drop redundant read-urb check
USB: serial: mos7720: clean up mcs7715 port setup
USB: serial: mos7720: always require an interrupt endpoint
USB: serial: mos7840: clean up endpoint sanity check
USB: serial: omninet: clean up port setup
USB: serial: omninet: use generic write implementation
USB: serial: ti_usb_3410_5052: always require a bulk-out endpoint
USB: serial: visor: drop redundant calc_num_ports callback
USB: serial: visor: clean up clie_5 endpoint hack
USB: serial: visor: clean up treo endpoint hack
USB: serial: mxuport: register two ports for unknown devices
USB: serial: mxuport: add endpoint sanity check
USB: serial: mxuport: clean up port bulk-out setup
USB: serial: f81534: clean up calc_num_ports
USB: serial: f81534: clean up port bulk-out setup
USB: lvstest: tighten endpoint sanity check
USB: usbtmc: refactor endpoint retrieval
USB: serial: drop termios-flag debugging
USB: serial: drop obsolete open-race workaround
USB: serial: iuu_phoenix: drop excessive sanity checks
USB: serial: quatech2: drop redundant tty_buffer_request_room
USB: serial: constify static arrays

John Stultz (1):
usb: dwc2: Make sure we disconnect the gadget state

John Youn (1):
usb: dwc3: gadget: Fix starting microframe for ISOC

Jonathan Dieter (2):
usbip: Fix potential format overflow in userspace tools
usbip: Fix implicit fallthrough warning

Kishon Vijay Abraham I (1):
Merge tag 'ib-mfd-phy-v4.12' of git://git.kernel.org/.../lee/mfd into next

Krzysztof Kozlowski (6):
mfd: exynos-lpass: Use common soc/exynos-regs-pmu.h header
mfd: exynos-lpass: Use common soc/exynos-regs-pmu.h header
phy: exynos4: Remove duplicated defines of PHY register defines
phy: exynos5: Remove duplicated defines of PHY register defines
phy: exynos-mipi-video: Use consistent method to address phy registers
phy: exynos: Use one define for enable bit

Li Jun (1):
usb: chipidea: udc: update gadget state after bus resume

Lu Baolu (12):
usb: dwc3: remove dwc3_log_msg trace class
usb: xhci: clear EINT bit in status correctly
usb: xhci: add xhci_log_ring trace events
usb: xhci: remove xhci_dbg_ep_rings()
usb: xhci: make several functions static
usb: xhci: remove error messages for failed memory allocation
usb: xhci: remove enq_updates and deq_updates from ring
usb: xhci: remove ring debugging code
usb: xhci: remove xhci_debug_trb()
usb: xhci: remove xhci_dbg_ctx()
usb: xhci: fix link trb decoding
usb: xhci: refine xhci_decode_trb()

Maksim Salau (1):
usb: misc: legousbtower: Fix buffers on stack

Marek Vasut (1):
USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit

Martin Blumenstingl (1):
phy: meson8b-usb2: fix offsets for some of the registers

Mathias Nyman (2):
xhci: Rework how we handle unresponsive or hoptlug removed hosts
xhci: use correct flags for spin_lock_irqrestore() when setting port power

Mauro Carvalho Chehab (1):
usb: fix some references for /proc/bus/usb

Meng Dongyang (3):
dt-bindings: phy-rockchip-inno-usb2: add assign clock property in usb2-phy node
dt-bindings: add DT bindings for usb2-phy grf
phy: rockchip-inno-usb2: add support of usb2-phy for rk3328

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

Milian Reichardt (3):
USB: misc: ldusb: fixed decimal permission coding issue
USB: misc: ldusb: Added Space after ',' to fit the coding style
USB: misc: ldusb: changed '*' location to fit coding Style

Oliver Neukum (1):
usb: misc: lvs: fix race condition in disconnect handling

Paul Gortmaker (1):
phy: phy-exynos-pcie: make it explicitly non-modular

Peter Chen (5):
usb: ehci: use bus->sysdev for DMA configuration
usb: chipidea: core: add sysfs group
usb: host: xhci: using correct specification chapter reference for DCBAAP
usb: host: xhci: delete sp_dma_buffers for scratchpad
usb: host: xhci: print correct command ring address

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

Phillip Potter (1):
USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h

Pierre-Yves Kerbrat (1):
usb: storage: karma: remove useless variable

Prarit Bhargava (2):
tools/usb: Add .gitignore file
tools/usb: Add .gitignore file

RafaÅ MiÅecki (1):
phy: bcm-ns-usb3: split all writes into reg & val pairs

Raviteja Garimella (1):
usb: gadget: udc: amd5536: split core and PCI layer

Roger Quadros (9):
usb: xhci: bInterval quirk for TI TUSB73x0
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

Romain Perier (4):
usb: host: Remove remaining pci_pool in comments
usb: gadget: net2280: Replace PCI pool old API
usb: gadget: pch_udc: Replace PCI pool old API
usb: gadget: amd5536udc: Replace PCI pool old API

Sekhar Nori (1):
usb: hcd: use correct device pointer for dma ops

Shuah Khan (1):
usb: dwc3: exynos: change goto labels to meaningful names

Sjoerd Simons (1):
phy: rockchip-usb: Add vbus regulator support.

Tobias Herzog (4):
cdc-acm: fix possible invalid access when processing notification
cdc-acm: reassemble fragmented notifications
cdc-acm: log message for serial state notification
cdc-acm: remove unused element of struct acm

Tobias Regnery (1):
phy: qcom-qusb2: add NVMEM dependency

Vincent Pelletier (1):
usb: gadget: f_fs: Fix ExtCompat documentation in uapi header

Vivek Gautam (4):
dt-bindings: phy: Add support for QUSB2 phy
phy: qcom-qusb2: New driver for QUSB2 PHY on Qcom chips
dt-bindings: phy: Add support for QMP phy
phy: qcom-qmp: new qmp phy driver for qcom-chipsets

Yoshihiro Shimoda (11):
usb: of: add functions to bind a companion controller
usb: host: ehci-platform: fix usb 1.1 device is not connected in system resume
usb: host: ehci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd()
usb: host: ohci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd()
phy: rcar-gen3-usb2: fix implementation for runtime PM
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
usb: host: xhci-plat: enable clk in resume timing
usb: host: xhci-plat: add resume_quirk()
usb: host: xhci-plat: set resume_quirk() for R-Car controllers

Yueyao Zhu (1):
staging: typec: Fairchild FUSB302 Type-c chip driver

Yuyang Du (3):
usb: usbip: Remove unnecessary get_vdev()
usb: usbip tool: Fix get_nports()
usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control()

Zhengjun Xing (1):
xhci: add slot and endpoint numbers to debug messages in handle_tx_event

yuan linyu (1):
usb: add CONFIG_USB_PCI for system have both PCI HW and non-PCI based USB HW

Documentation/ABI/testing/sysfs-class-typec | 276 ++
.../ABI/testing/sysfs-platform-chipidea-usb2 | 9 +
.../ABI/testing/sysfs-platform-renesas_usb3 | 15 +
.../devicetree/bindings/phy/phy-mt65xx-usb.txt | 93 +-
.../bindings/phy/phy-rockchip-inno-usb2.txt | 6 +
.../devicetree/bindings/phy/qcom-qmp-phy.txt | 106 +
.../devicetree/bindings/phy/qcom-qusb2-phy.txt | 43 +
.../devicetree/bindings/phy/rockchip-usb-phy.txt | 1 +
.../devicetree/bindings/phy/sun4i-usb-phy.txt | 1 +
.../devicetree/bindings/soc/rockchip/grf.txt | 4 +
.../devicetree/bindings/usb/ehci-orion.txt | 4 +-
Documentation/devicetree/bindings/usb/generic.txt | 1 +
Documentation/usb/typec.rst | 184 ++
MAINTAINERS | 9 +
arch/arm64/boot/dts/marvell/armada-3720-db.dts | 6 +
arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 7 +
drivers/Makefile | 1 +
drivers/media/usb/pwc/philips.txt | 2 +-
drivers/mfd/exynos-lpass.c | 4 +-
drivers/phy/Kconfig | 19 +
drivers/phy/Makefile | 2 +
drivers/phy/phy-bcm-ns-usb3.c | 69 +-
drivers/phy/phy-exynos-dp-video.c | 6 +-
drivers/phy/phy-exynos-mipi-video.c | 71 +-
drivers/phy/phy-exynos-pcie.c | 8 +-
drivers/phy/phy-exynos5-usbdrd.c | 6 +-
drivers/phy/phy-meson8b-usb2.c | 6 +-
drivers/phy/phy-mt65xx-usb3.c | 477 ++-
drivers/phy/phy-qcom-qmp.c | 1153 +++++++
drivers/phy/phy-qcom-qusb2.c | 493 +++
drivers/phy/phy-rcar-gen3-usb2.c | 31 +-
drivers/phy/phy-rockchip-inno-usb2.c | 53 +-
drivers/phy/phy-rockchip-usb.c | 19 +
drivers/phy/phy-sun4i-usb.c | 58 +-
drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 2 +-
drivers/staging/typec/Kconfig | 24 +
drivers/staging/typec/Makefile | 3 +
drivers/staging/typec/TODO | 15 +
drivers/staging/typec/fusb302/Kconfig | 7 +
drivers/staging/typec/fusb302/Makefile | 1 +
drivers/staging/typec/fusb302/TODO | 6 +
drivers/staging/typec/fusb302/fusb302.c | 1815 ++++++++++
drivers/staging/typec/fusb302/fusb302_reg.h | 186 ++
drivers/staging/typec/pd.h | 281 ++
drivers/staging/typec/pd_bdo.h | 31 +
drivers/staging/typec/pd_vdo.h | 249 ++
drivers/staging/typec/tcpci.c | 526 +++
drivers/staging/typec/tcpci.h | 133 +
drivers/staging/typec/tcpm.c | 3465 ++++++++++++++++++++
drivers/staging/typec/tcpm.h | 150 +
drivers/usb/Kconfig | 14 +-
drivers/usb/Makefile | 4 +-
drivers/usb/atm/cxacru.c | 2 +-
drivers/usb/chipidea/Kconfig | 2 +-
drivers/usb/chipidea/ci.h | 2 +
drivers/usb/chipidea/core.c | 67 +-
drivers/usb/chipidea/host.c | 3 +-
drivers/usb/chipidea/udc.c | 33 +-
drivers/usb/class/Kconfig | 2 +-
drivers/usb/class/cdc-acm.c | 151 +-
drivers/usb/class/cdc-acm.h | 4 +-
drivers/usb/class/cdc-wdm.c | 103 +-
drivers/usb/class/usblp.c | 37 +-
drivers/usb/class/usbtmc.c | 56 +-
drivers/usb/common/usb-otg-fsm.c | 7 +
drivers/usb/core/Makefile | 2 +-
drivers/usb/core/buffer.c | 12 +-
drivers/usb/core/devices.c | 4 +-
drivers/usb/core/driver.c | 21 +
drivers/usb/core/file.c | 9 +-
drivers/usb/core/hcd.c | 82 +-
drivers/usb/core/hub.c | 11 +-
drivers/usb/core/of.c | 23 +
drivers/usb/core/usb.c | 152 +-
drivers/usb/dwc2/Kconfig | 2 +-
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 | 3 +-
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 | 80 +-
drivers/usb/gadget/function/u_ether.c | 24 +-
drivers/usb/gadget/function/u_fs.h | 14 +-
drivers/usb/gadget/function/uvc_configfs.c | 16 +-
drivers/usb/gadget/legacy/inode.c | 17 +-
drivers/usb/gadget/udc/Kconfig | 32 +-
drivers/usb/gadget/udc/Makefile | 3 +-
drivers/usb/gadget/udc/amd5536udc.c | 266 +-
drivers/usb/gadget/udc/amd5536udc.h | 40 +-
drivers/usb/gadget/udc/amd5536udc_pci.c | 217 ++
drivers/usb/gadget/udc/atmel_usba_udc.c | 49 +-
drivers/usb/gadget/udc/bdc/Kconfig | 2 +-
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/net2272.c | 8 +-
drivers/usb/gadget/udc/net2272.h | 2 +-
drivers/usb/gadget/udc/net2280.c | 12 +-
drivers/usb/gadget/udc/net2280.h | 2 +-
drivers/usb/gadget/udc/pch_udc.c | 32 +-
drivers/usb/gadget/udc/pxa27x_udc.c | 3 -
drivers/usb/gadget/udc/renesas_usb3.c | 164 +-
drivers/usb/host/Kconfig | 12 +-
drivers/usb/host/Makefile | 4 +-
drivers/usb/host/ehci-dbg.c | 2 +-
drivers/usb/host/ehci-fsl.c | 4 +-
drivers/usb/host/ehci-hcd.c | 2 +-
drivers/usb/host/ehci-mem.c | 12 +-
drivers/usb/host/ehci-orion.c | 36 +
drivers/usb/host/ehci-platform.c | 10 +
drivers/usb/host/fotg210-hcd.c | 2 +-
drivers/usb/host/ohci-hcd.c | 5 +-
drivers/usb/host/ohci-pci.c | 16 +
drivers/usb/host/ohci-platform.c | 3 +
drivers/usb/host/ohci.h | 3 +-
drivers/usb/host/oxu210hp-hcd.c | 2 +-
drivers/usb/host/pci-quirks.h | 4 +-
drivers/usb/host/uhci-hcd.c | 2 +-
drivers/usb/host/uhci-hcd.h | 2 +-
drivers/usb/host/xhci-dbg.c | 308 +-
drivers/usb/host/xhci-hub.c | 167 +-
drivers/usb/host/xhci-mem.c | 53 +-
drivers/usb/host/xhci-pci.c | 3 +
drivers/usb/host/xhci-plat.c | 121 +-
drivers/usb/host/xhci-plat.h | 1 +
drivers/usb/host/xhci-rcar.c | 11 +
drivers/usb/host/xhci-rcar.h | 6 +
drivers/usb/host/xhci-ring.c | 266 +-
drivers/usb/host/xhci-trace.h | 174 +-
drivers/usb/host/xhci.c | 334 +-
drivers/usb/host/xhci.h | 333 +-
drivers/usb/isp1760/isp1760-if.c | 8 +-
drivers/usb/misc/adutux.c | 55 +-
drivers/usb/misc/appledisplay.c | 19 +-
drivers/usb/misc/chaoskey.c | 22 +-
drivers/usb/misc/ftdi-elan.c | 42 +-
drivers/usb/misc/idmouse.c | 28 +-
drivers/usb/misc/iowarrior.c | 25 +-
drivers/usb/misc/ldusb.c | 53 +-
drivers/usb/misc/legousbtower.c | 66 +-
drivers/usb/misc/lvstest.c | 12 +-
drivers/usb/misc/sisusbvga/sisusb_con.c | 2 +-
drivers/usb/misc/usblcd.c | 47 +-
drivers/usb/misc/usbtest.c | 50 +-
drivers/usb/misc/uss720.c | 10 +-
drivers/usb/misc/yurex.c | 16 +-
drivers/usb/mtu3/mtu3_dr.c | 19 +-
drivers/usb/musb/Kconfig | 4 +-
drivers/usb/musb/cppi_dma.c | 11 +-
drivers/usb/musb/da8xx.c | 43 +-
drivers/usb/musb/musb_core.c | 2 +-
drivers/usb/musb/musb_core.h | 1 +
drivers/usb/musb/musb_cppi41.c | 4 +
drivers/usb/phy/Kconfig | 7 -
drivers/usb/phy/Makefile | 1 -
drivers/usb/phy/phy-fsl-usb.c | 7 +
drivers/usb/serial/aircable.c | 36 +-
drivers/usb/serial/ark3116.c | 17 +-
drivers/usb/serial/cyberjack.c | 11 +-
drivers/usb/serial/digi_acceleport.c | 23 +-
drivers/usb/serial/f81534.c | 137 +-
drivers/usb/serial/ftdi_sio.c | 54 +-
drivers/usb/serial/ftdi_sio_ids.h | 6 +
drivers/usb/serial/generic.c | 32 +-
drivers/usb/serial/io_edgeport.c | 28 +-
drivers/usb/serial/io_ti.c | 49 +-
drivers/usb/serial/ipaq.c | 51 +-
drivers/usb/serial/iuu_phoenix.c | 22 +-
drivers/usb/serial/keyspan_pda.c | 16 +-
drivers/usb/serial/kobil_sct.c | 13 +-
drivers/usb/serial/mos7720.c | 75 +-
drivers/usb/serial/mos7840.c | 36 +-
drivers/usb/serial/mxuport.c | 133 +-
drivers/usb/serial/omninet.c | 130 +-
drivers/usb/serial/opticon.c | 12 +-
drivers/usb/serial/oti6858.c | 19 +-
drivers/usb/serial/pl2303.c | 82 +-
drivers/usb/serial/quatech2.c | 7 +-
drivers/usb/serial/sierra.c | 3 +-
drivers/usb/serial/spcp8x5.c | 16 +-
drivers/usb/serial/symbolserial.c | 12 +-
drivers/usb/serial/ti_usb_3410_5052.c | 10 +-
drivers/usb/serial/usb-serial.c | 230 +-
drivers/usb/serial/usb_debug.c | 2 +-
drivers/usb/serial/visor.c | 146 +-
drivers/usb/serial/whiteheat.c | 32 +-
drivers/usb/storage/karma.c | 6 +-
drivers/usb/storage/unusual_devs.h | 4 +-
drivers/usb/storage/usb.c | 40 +-
drivers/usb/typec/Kconfig | 22 +
drivers/usb/typec/Makefile | 2 +
drivers/usb/typec/typec.c | 1262 +++++++
drivers/usb/typec/typec_wcove.c | 377 +++
drivers/usb/usb-skeleton.c | 59 +-
drivers/usb/usbip/vhci_hcd.c | 32 +-
include/linux/mfd/syscon/exynos5-pmu.h | 30 -
include/linux/soc/samsung/exynos-regs-pmu.h | 16 +-
include/linux/string.h | 10 +
include/linux/usb.h | 73 +-
include/linux/usb/hcd.h | 7 +-
include/linux/usb/of.h | 5 +
include/linux/usb/otg-fsm.h | 15 -
include/linux/usb/serial.h | 42 +-
include/linux/usb/typec.h | 243 ++
include/uapi/linux/capability.h | 2 +-
include/uapi/linux/usb/ch9.h | 3 +-
include/uapi/linux/usb/functionfs.h | 2 +-
lib/string.c | 26 +
tools/usb/.gitignore | 2 +
tools/usb/usbip/README | 2 +-
tools/usb/usbip/libsrc/usbip_common.c | 9 +-
tools/usb/usbip/libsrc/usbip_host_common.c | 28 +-
tools/usb/usbip/libsrc/vhci_driver.c | 28 +-
tools/usb/usbip/src/usbip.c | 2 +
231 files changed, 15571 insertions(+), 3810 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-typec
create mode 100644 Documentation/ABI/testing/sysfs-platform-chipidea-usb2
create mode 100644 Documentation/ABI/testing/sysfs-platform-renesas_usb3
create mode 100644 Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt
create mode 100644 Documentation/devicetree/bindings/phy/qcom-qusb2-phy.txt
create mode 100644 Documentation/usb/typec.rst
create mode 100644 drivers/phy/phy-qcom-qmp.c
create mode 100644 drivers/phy/phy-qcom-qusb2.c
create mode 100644 drivers/staging/typec/Kconfig
create mode 100644 drivers/staging/typec/Makefile
create mode 100644 drivers/staging/typec/TODO
create mode 100644 drivers/staging/typec/fusb302/Kconfig
create mode 100644 drivers/staging/typec/fusb302/Makefile
create mode 100644 drivers/staging/typec/fusb302/TODO
create mode 100644 drivers/staging/typec/fusb302/fusb302.c
create mode 100644 drivers/staging/typec/fusb302/fusb302_reg.h
create mode 100644 drivers/staging/typec/pd.h
create mode 100644 drivers/staging/typec/pd_bdo.h
create mode 100644 drivers/staging/typec/pd_vdo.h
create mode 100644 drivers/staging/typec/tcpci.c
create mode 100644 drivers/staging/typec/tcpci.h
create mode 100644 drivers/staging/typec/tcpm.c
create mode 100644 drivers/staging/typec/tcpm.h
create mode 100644 drivers/usb/dwc3/drd.c
create mode 100644 drivers/usb/gadget/udc/amd5536udc_pci.c
create mode 100644 drivers/usb/typec/Kconfig
create mode 100644 drivers/usb/typec/Makefile
create mode 100644 drivers/usb/typec/typec.c
create mode 100644 drivers/usb/typec/typec_wcove.c
create mode 100644 include/linux/usb/typec.h
create mode 100644 tools/usb/.gitignore