mbox series

[GIT,PULL] USB / Thunderbolt driver changes for 6.0-rc1

Message ID YuqB0tl2hjT3x7a4@kroah.com (mailing list archive)
State Accepted
Commit 9e2e5ea3b28f81512c792f30729edb1db0c21f6a
Headers show
Series [GIT,PULL] USB / Thunderbolt driver changes for 6.0-rc1 | expand

Pull-request

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

Message

Greg Kroah-Hartman Aug. 3, 2022, 2:10 p.m. UTC
The following changes since commit ff6992735ade75aae3e35d16b17da1008d753d28:

  Linux 5.19-rc7 (2022-07-17 13:30:22 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 8288c99fc263bcafc5df5fa8c278b2eb8106364e:

  usb: misc: onboard_usb_hub: Remove duplicated power_on delay (2022-07-28 09:21:15 +0200)

----------------------------------------------------------------
USB / Thunderbolt changes for 6.0-rc1

Here is the big set of Thunderbolt and USB changes for 6.0-rc1.

Lots of little things here, nothing major, just constant development on
some new hardware support and cleanups of older drivers.  Highlights of
this pull request are:
	- lots of typec changes and improvements for new hardware
	- new gadget controller driver
	- thunderbolt support for new hardware
	- the normal set of new usb-serial device ids and cleanups
	- loads of dwc3 controller fixes and improvements
	- mtu3 driver updates
	- testusb fixes for longtime issues (not many people use this
	  tool it seems.)
	- minor driver fixes and improvements over the USB tree
	- chromeos platform driver changes were added and then reverted
	  as they depened on some typec changes, but the cross-tree
	  merges caused problems so they will come back later through
	  the platform tree.

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

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

----------------------------------------------------------------
Alan Stern (1):
      USB: gadget: Fix use-after-free Read in usb_udc_uevent()

Alexander Stein (5):
      usb: chipidea: ci_hdrc_imx: use dev_err_probe()
      dt-bindings: usb: Add binding for TI USB8041 hub controller
      usb: misc: onboard_usb_hub: Add reset-gpio support
      usb: misc: onboard_usb_hub: Add TI USB8041 hub support
      usb: misc: onboard_usb_hub: Remove duplicated power_on delay

Alexey Sheplyakov (1):
      usb: xhci_plat_remove: avoid NULL dereference

Amelie Delaunay (4):
      usb: host: ohci-platform: add TPL support
      usb: host: ehci-platform: add TPL support
      usb: dwc2: host: add TPL support
      usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch

Andrey Strachuk (1):
      usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()

Artur Bujdoso (1):
      staging: octeon-usb: move driver out of staging

Bryan O'Donoghue (3):
      tools: usb: testusb: Add wireless speed reporting
      tools: usb: testusb: Add super speed reporting
      tools: usb: testusb: Add super-plus speed reporting

Chen Xingdi (1):
      usb: renesas-xhci: Do not print any log while fw verif success

Chunfeng Yun (12):
      dt-bindings: usb: mtk-xhci: add support 'resets' property
      dt-bindings: usb: mtu3: add support 'resets' property
      usb: xhci-mtk: add support optional controller reset
      usb: mtu3: add support controller reset
      usb: mtu3: sync interrupt before unbind the udc
      usb: mtu3: implement udc_async_callbacks of gadget operation
      usb: mtu3: register mtu3_irq by threaded irq
      dt-bindings: usb: mtk-xhci: add compatible for mt8188
      usb: mtu3: print endpoint type as string
      usb: mtu3: add feature to disable device's usb3 port
      usb: mtu3: check capability of usb3 dual role
      usb: mtu3: support function remote wakeup

Clément Léger (1):
      usb: host: ohci-at91: add support to enter suspend using SMC

Colin Ian King (2):
      usb: gadget: ast2600: Fix a couple of spelling mistakes
      usb: phy: remove redundant store to variable var after & operation

Conor Dooley (2):
      usb: musb: Add support for PolarFire SoC's musb controller
      MAINTAINERS: add musb to PolarFire SoC entry

Dan Carpenter (8):
      USB: usbip: clean up mixed use of _irq() and _irqsave()
      usbip: vudc: Don't enable IRQs prematurely
      usb: gadget: aspeed_udc: cleanup loop in ast_dma_descriptor_setup()
      usb: musb: mpfs: Fix error codes in probe()
      usb: gadget: aspeed_udc: fix handling of tx_len == 0
      usb: typec: anx7411: Fix an array out of bounds
      usb: typec: anx7411: fix error checking in anx7411_get_gpio_irq()
      usb: typec: anx7411: use semi-colons instead of commas

Fabrice Gasnier (8):
      dt-bindings: usb: dwc2: document TPL support
      dt-bindings: usb: typec: add bindings for stm32g0 controller
      usb: typec: ucsi: stm32g0: add support for stm32g0 controller
      usb: typec: ucsi: stm32g0: add bootloader support
      dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
      usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
      ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx
      ARM: multi_v7_defconfig: enable USB onboard HUB driver

Frank Li (2):
      usb: cdns3 fix use-after-free at workaround 2
      usb: cdns3: fix random warning message when driver load

George D Sworo (1):
      thunderbolt: Add support for Intel Raptor Lake

Gil Fine (6):
      thunderbolt: Silently ignore CLx enabling in case CLx is not supported
      thunderbolt: CLx disable before system suspend only if previously enabled
      thunderbolt: Fix typos in CLx enabling
      thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode
      thunderbolt: Add CL1 support for USB4 and Titan Ridge routers
      thunderbolt: Change TMU mode to HiFi uni-directional once DisplayPort tunneled

Greg Kroah-Hartman (15):
      Revert "ARM: dts: aspeed: Add USB2.0 device controller node"
      Merge v5.19-rc3 into usb-next
      Merge branch 'staging-octeon' of gitolite.kernel.org:/pub/scm/linux/kernel/git/gregkh/staging into usb-next
      Merge 5.19-rc4 into usb-next
      Merge tag 'thunderbolt-for-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next
      Merge 5.19-rc7 into usb-next
      Revert "platform/chrome: cros_ec_typec: Get retimer handle"
      Revert "platform/chrome: cros_ec_typec: Cleanup switch handle return paths"
      Revert "platform/chrome: cros_typec_switch: Register mode switches"
      Revert "platform/chrome: cros_typec_switch: Add event check"
      Revert "platform/chrome: cros_typec_switch: Set EC retimer"
      Revert "platform/chrome: cros_typec_switch: Add ACPI Kconfig dep"
      Revert "platform/chrome: cros_typec_switch: Add switch driver"
      Revert "platform/chrome: Add Type-C mux set command definitions"
      Merge tag 'usb-serial-5.20-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next

Heikki Krogerus (3):
      usb: typec: Separate USB Power Delivery from USB Type-C
      usb: typec: USB Power Delivery helpers for ports and partners
      usb: typec: tcpm: Register USB Power Delivery Capabilities

Herve Codina (1):
      dt-bindings: usb: atmel: Add Microchip LAN9662 compatible string

Hyunwoo Kim (1):
      usb: host: ehci-q: Fix ehci_submit_single_step_set_feature annotation typo

Jason Wang (1):
      USB: xhci: Fix comment typo

Jiang Jian (3):
      usb: dwc2: drop unexpected word "the" in the comments
      usb: max-3421: drop unexpected word "the" in the comments
      USB: serial: fix repeated word "the" in comments

Jiangshan Yi (1):
      usb: ldusb: replace ternary operator with max_t()

Jiapeng Chong (1):
      usb: gadget: Remove unnecessary print function dev_err()

Jilin Yuan (8):
      usb/atm: fix repeated words in comments
      usb/core: fix repeated words in comments
      usb/host: fix repeated words in comments
      usb/image: fix repeated words in comments
      usb/misc: fix repeated words in comments
      usb/musb: fix repeated words in comments
      usb/typec/tcpm: fix repeated words in comments
      usb/chipidea: fix repeated words in comments

Johan Hovold (10):
      dt-bindings: usb: qcom,dwc3: add SC8280XP binding
      dt-bindings: usb: qcom,dwc3: refine interrupt requirements
      usb: dwc3: qcom: fix missing optional irq warnings
      USB: cdc: add control-signal defines
      USB: cdc: add serial-state defines
      USB: cdc-acm: use CDC control-line defines
      USB: cdc-acm: use CDC serial-state defines
      staging: gdm724x: drop unused CDC defines
      USB: gadget: f_acm: use CDC defines
      USB: serial: fix tty-port initialized comments

Jozef Martiniak (1):
      gadgetfs: ep_io - wait until IRQ finishes

Julia Lawall (3):
      usb: typec: tcpm: fix typo in comment
      usb: gadget: bdc: fix typo in comment
      USB: chipidea: fix typo in comment

Kushagra Verma (4):
      usb: dwc3: Remove the checks of -ENOSYS
      usb: dwc3: Fix bare use of unsigned checkpatch warning
      usb: dwc3: Fix a repeated word checkpatch warning
      usb: dwc3: Fix typos in Kconfig

Laurent Pinchart (1):
      usb: gadget: uvc: Fix comment blocks style

Li Jun (1):
      usb: dwc3: add power down scale setting

Liang He (3):
      usb: host: ohci-ppc-of: Fix refcount leak bug
      usb: renesas: Fix refcount leak bug
      usb: aspeed-vhub: Fix refcount leak bug in ast_vhub_init_desc()

Linyu Yuan (1):
      usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion

Lukas Bulwahn (1):
      MAINTAINERS: Repair file entry in ASPEED USB UDC DRIVER

Mathias Nyman (1):
      usb: Avoid extra usb SET_SEL requests when enabling link power management

Matthias Kaehlcke (5):
      of/platform: Add stubs for of_platform_device_create/destroy()
      dt-bindings: usb: rts5411: Rename property 'companion-hub' to 'peer-hub'
      usb: misc: Add onboard_usb_hub driver
      usb: core: hub: Create platform devices for onboard hubs in hub_probe()
      usb: misc: onboard_hub: Fix 'missing prototype' warning

Mauro Carvalho Chehab (3):
      usb: typec_altmode: add a missing "@" at a kernel-doc parameter
      usb: dwc3: document async_callbacks field
      usb: dwc3: gadget: fix a kernel-doc warning

Maxim Devaev (2):
      usb: gadget: f_mass_storage: forced_eject attribute
      USB: docs: fixed table margin in configfs-usb-gadget-mass-storage

Miaoqian Lin (2):
      usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
      usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe

Michael Grzeschik (6):
      usb: gadget: uvc: calculate the number of request depending on framesize
      usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
      usb: hub: port: add sysfs entry to switch port power
      usb: chipidea: udc: implement get_frame
      usb: dwc3: gadget: refactor dwc3_repare_one_trb
      usb: dwc3: gadget: fix high speed multiplier setting

Michael Walle (2):
      usb: gadget: udc: atmel: check rc of devm_gpiod_get_optional()
      usb: gadget: udc: atmel: convert to platform driver

Neal Liu (4):
      usb: gadget: add Aspeed ast2600 udc driver
      ARM: dts: aspeed: Add USB2.0 device controller node
      dt-bindings: usb: add documentation for aspeed udc
      usb: gadget: f_mass_storage: Make CD-ROM emulation works with Windows OS

Nícolas F. R. A. Prado (4):
      dt-bindings: usb: mtk-xhci: Allow wakeup interrupt-names to be optional
      dt-bindings: usb: mtk-xhci: Make all clocks required
      Revert "dt-bindings: usb: mtk-xhci: Make all clocks required"
      usb: typec: retimer: Add missing id check in match callback

Oliver Neukum (1):
      USB: cdc-acm: use define for timeout

Prashant Malani (12):
      usb: typec: mux: Allow muxes to specify mode-switch
      usb: typec: mux: Add CONFIG guards for functions
      usb: typec: Add support for retimers
      usb: typec: Add retimer handle to port
      platform/chrome: Add Type-C mux set command definitions
      platform/chrome: cros_typec_switch: Add switch driver
      platform/chrome: cros_typec_switch: Set EC retimer
      platform/chrome: cros_typec_switch: Add event check
      platform/chrome: cros_typec_switch: Register mode switches
      platform/chrome: cros_ec_typec: Cleanup switch handle return paths
      platform/chrome: cros_ec_typec: Get retimer handle
      platform/chrome: cros_typec_switch: Add ACPI Kconfig dep

Prashanth K (1):
      usb: common: usb-conn-gpio: Allow wakeup from system suspend

Randy Dunlap (1):
      usb: gadget: udc: amd5536 depends on HAS_DMA

Rohith Kollalsi (1):
      usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bootup

Sandeep Maheswaram (5):
      dt-bindings: usb: dwc3: Add wakeup-source property support
      usb: dwc3: core: Host wake up support from system suspend
      usb: dwc3: qcom: Add helper functions to enable,disable wake irqs
      usb: dwc3: qcom: Configure wakeup interrupts during suspend
      usb: dwc3: qcom: Keep power domain on to retain controller status

Sanket Goswami (2):
      ucsi_ccg: Do not hardcode interrupt polarity and type
      ucsi_ccg: ACPI based I2c client enumeration for AMD ASICs

Saurav Girepunje (1):
      usb: musb: remove schedule work called after flush

Sergey Shtylyov (2):
      usb: musb: core: drop redundant checks
      usb: host: xhci: use snprintf() in xhci_decode_trb()

Slark Xiao (1):
      USB: serial: use kmemdup instead of kmalloc + memcpy

Steven Rostedt (Google) (1):
      USB: gadget: udc: tracing: Do not open code __string() with __dynamic_array()

Tang Bin (2):
      usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()
      usb: xhci: tegra: Fix error check

Thinh Nguyen (2):
      Revert "usb: dwc3: Remove the checks of -ENOSYS"
      usb: dwc3: core: Deprecate GCTL.CORESOFTRESET

Weitao Wang (1):
      USB: HCD: Fix URB giveback issue in tasklet function

Wesley Cheng (1):
      usb: dwc3: ep0: Properly handle setup_packet_pending scenario in data stage

Xiang Wangx (1):
      thunderbolt: Fix typo in comment

Xiang wangx (2):
      USB: ohci-sm501: Fix typo in comment
      USB: storage: Fix typo in comment

Xin Ji (4):
      usb: typec: tcpci: move tcpci.h to include/linux/usb/
      dt-bindings: usb: Add analogix anx7411 PD binding
      usb: typec: anx7411: Add Analogix PD ANX7411 support
      usb: typec: anx7411: fix passing zero to 'PTR_ERR'

Xuezhi Zhang (2):
      usb: core: sysfs: convert sysfs snprintf to sysfs_emit
      USB: usbsevseg: convert sysfs snprintf to sysfs_emit

Yan Xinyu (1):
      USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros

Yang Li (2):
      thunderbolt: Fix some kernel-doc comments
      usb: gadget: u_ether: Remove duplicated include in u_ether.c

Yang Yingliang (4):
      usb: musb: mpfs: add missing clk_disable_unprepare() in mpfs_remove()
      usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR()
      usb: typec: anx7411: Fix return value check in anx7411_register_i2c_dummy_clients()
      usb: typec: anx7411: Fix error return code in anx7411_i2c_probe()

Zhang Jiaming (1):
      USB: serial: io_edgeport: fix spelling mistakes

Zheng Bin (1):
      usb: gadget: aspeed_udc: fix missing spin_unlock_irqrestore in ast_udc_ep_queue

 .../ABI/testing/configfs-usb-gadget-mass-storage   |   10 +-
 .../ABI/testing/sysfs-bus-platform-onboard-usb-hub |    8 +
 Documentation/ABI/testing/sysfs-bus-usb            |   11 +
 Documentation/ABI/testing/sysfs-class-typec        |    8 +
 .../ABI/testing/sysfs-class-usb_power_delivery     |  240 +++
 .../devicetree/bindings/usb/analogix,anx7411.yaml  |   81 +
 .../bindings/usb/aspeed,ast2600-udc.yaml           |   52 +
 .../devicetree/bindings/usb/atmel-usb.txt          |    3 +
 Documentation/devicetree/bindings/usb/dwc2.yaml    |    3 +
 .../devicetree/bindings/usb/generic-ehci.yaml      |    7 +-
 .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml |    5 +
 .../devicetree/bindings/usb/mediatek,mtu3.yaml     |    3 +
 .../devicetree/bindings/usb/qcom,dwc3.yaml         |  152 +-
 .../devicetree/bindings/usb/realtek,rts5411.yaml   |   10 +-
 .../devicetree/bindings/usb/snps,dwc3.yaml         |    5 +
 .../devicetree/bindings/usb/st,typec-stm32g0.yaml  |   91 ++
 .../devicetree/bindings/usb/ti,usb8041.yaml        |   67 +
 Documentation/usb/gadget-testing.rst               |    6 +
 Documentation/usb/mass-storage.rst                 |    9 +
 MAINTAINERS                                        |   15 +
 arch/arm/boot/dts/stm32mp15xx-dkx.dtsi             |    8 +
 arch/arm/configs/multi_v7_defconfig                |    1 +
 arch/mips/configs/cavium_octeon_defconfig          |    2 +-
 drivers/staging/Kconfig                            |    2 -
 drivers/staging/Makefile                           |    1 -
 drivers/staging/gdm724x/gdm_tty.c                  |    6 -
 drivers/staging/octeon-usb/Kconfig                 |   11 -
 drivers/staging/octeon-usb/Makefile                |    2 -
 drivers/staging/octeon-usb/TODO                    |    8 -
 drivers/thunderbolt/ctl.c                          |    6 +-
 drivers/thunderbolt/ctl.h                          |    2 +-
 drivers/thunderbolt/icm.c                          |    2 +
 drivers/thunderbolt/nhi.c                          |    4 +
 drivers/thunderbolt/nhi.h                          |    2 +
 drivers/thunderbolt/switch.c                       |   91 +-
 drivers/thunderbolt/tb.c                           |   68 +-
 drivers/thunderbolt/tb.h                           |   48 +-
 drivers/thunderbolt/tb_regs.h                      |    6 +
 drivers/thunderbolt/tmu.c                          |  221 ++-
 drivers/usb/atm/ueagle-atm.c                       |    2 +-
 drivers/usb/cdns3/cdns3-gadget.c                   |   13 +-
 drivers/usb/chipidea/ci.h                          |    1 +
 drivers/usb/chipidea/ci_hdrc_imx.c                 |   23 +-
 drivers/usb/chipidea/ci_hdrc_imx.h                 |    2 +-
 drivers/usb/chipidea/core.c                        |    2 +
 drivers/usb/chipidea/otg_fsm.c                     |    2 +-
 drivers/usb/chipidea/udc.c                         |   14 +
 drivers/usb/class/cdc-acm.c                        |   44 +-
 drivers/usb/class/cdc-acm.h                        |   20 -
 drivers/usb/common/usb-conn-gpio.c                 |   17 +
 drivers/usb/core/Makefile                          |    4 +
 drivers/usb/core/driver.c                          |    2 +-
 drivers/usb/core/hcd.c                             |   34 +-
 drivers/usb/core/hub.c                             |  108 +-
 drivers/usb/core/hub.h                             |    4 +
 drivers/usb/core/port.c                            |   83 +
 drivers/usb/core/sysfs.c                           |   79 +-
 drivers/usb/core/usb.c                             |    2 +-
 drivers/usb/dwc2/gadget.c                          |    3 +-
 drivers/usb/dwc2/hcd.c                             |    5 +-
 drivers/usb/dwc3/Kconfig                           |    4 +-
 drivers/usb/dwc3/core.c                            |   56 +-
 drivers/usb/dwc3/core.h                            |    3 +
 drivers/usb/dwc3/dwc3-qcom.c                       |  144 +-
 drivers/usb/dwc3/ep0.c                             |    9 +-
 drivers/usb/dwc3/gadget.c                          |   93 +-
 drivers/usb/gadget/function/f_acm.c                |   20 +-
 drivers/usb/gadget/function/f_mass_storage.c       |   36 +-
 drivers/usb/gadget/function/f_uvc.c                |   30 +-
 drivers/usb/gadget/function/storage_common.c       |   15 +
 drivers/usb/gadget/function/storage_common.h       |    2 +
 drivers/usb/gadget/function/u_ether.c              |    1 -
 drivers/usb/gadget/function/uvc_queue.c            |   23 +-
 drivers/usb/gadget/function/uvc_video.c            |   14 +-
 drivers/usb/gadget/legacy/inode.c                  |    1 +
 drivers/usb/gadget/udc/Kconfig                     |   15 +-
 drivers/usb/gadget/udc/Makefile                    |    1 +
 drivers/usb/gadget/udc/aspeed-vhub/hub.c           |    4 +-
 drivers/usb/gadget/udc/aspeed_udc.c                | 1597 +++++++++++++++++++
 drivers/usb/gadget/udc/atmel_usba_udc.c            |   10 +-
 drivers/usb/gadget/udc/bdc/bdc_cmd.c               |    2 +-
 drivers/usb/gadget/udc/core.c                      |   11 +-
 drivers/usb/gadget/udc/tegra-xudc.c                |    8 +-
 drivers/usb/gadget/udc/trace.h                     |    8 +-
 drivers/usb/host/Kconfig                           |   10 +
 drivers/usb/host/Makefile                          |    1 +
 drivers/usb/host/ehci-platform.c                   |    2 +
 drivers/usb/host/ehci-ppc-of.c                     |    1 +
 drivers/usb/host/ehci-q.c                          |    2 +-
 drivers/usb/host/max3421-hcd.c                     |    2 +-
 .../{staging/octeon-usb => usb/host}/octeon-hcd.c  |    0
 .../{staging/octeon-usb => usb/host}/octeon-hcd.h  |    0
 drivers/usb/host/ohci-at91.c                       |   69 +-
 drivers/usb/host/ohci-nxp.c                        |    1 +
 drivers/usb/host/ohci-platform.c                   |    3 +
 drivers/usb/host/ohci-ppc-of.c                     |    1 +
 drivers/usb/host/ohci-sm501.c                      |    2 +-
 drivers/usb/host/uhci-grlib.c                      |    2 +-
 drivers/usb/host/uhci-hcd.h                        |    2 +-
 drivers/usb/host/xhci-mtk.c                        |    7 +
 drivers/usb/host/xhci-pci-renesas.c                |    4 -
 drivers/usb/host/xhci-ring.c                       |    2 +-
 drivers/usb/host/xhci-tegra.c                      |    8 +-
 drivers/usb/host/xhci.h                            |    2 +-
 drivers/usb/image/mdc800.c                         |    2 +-
 drivers/usb/misc/Kconfig                           |   16 +
 drivers/usb/misc/Makefile                          |    1 +
 drivers/usb/misc/ldusb.c                           |    6 +-
 drivers/usb/misc/onboard_usb_hub.c                 |  458 ++++++
 drivers/usb/misc/onboard_usb_hub.h                 |   36 +
 drivers/usb/misc/onboard_usb_hub_pdevs.c           |  143 ++
 drivers/usb/misc/usbsevseg.c                       |    2 +-
 drivers/usb/misc/usbtest.c                         |    2 +-
 drivers/usb/mtu3/mtu3.h                            |    5 +-
 drivers/usb/mtu3/mtu3_core.c                       |   35 +-
 drivers/usb/mtu3/mtu3_debugfs.c                    |    8 +-
 drivers/usb/mtu3/mtu3_gadget.c                     |   38 +-
 drivers/usb/mtu3/mtu3_gadget_ep0.c                 |   10 +-
 drivers/usb/mtu3/mtu3_hw_regs.h                    |   16 +
 drivers/usb/mtu3/mtu3_plat.c                       |   43 +-
 drivers/usb/mtu3/mtu3_trace.h                      |    4 +-
 drivers/usb/musb/Kconfig                           |   13 +-
 drivers/usb/musb/Makefile                          |    1 +
 drivers/usb/musb/mpfs.c                            |  269 ++++
 drivers/usb/musb/musb_core.c                       |   16 +-
 drivers/usb/musb/musb_cppi41.c                     |    2 +-
 drivers/usb/musb/musb_gadget.c                     |    2 -
 drivers/usb/musb/tusb6010.c                        |    2 +-
 drivers/usb/phy/phy-keystone.c                     |    2 +-
 drivers/usb/renesas_usbhs/rza.c                    |    4 +
 drivers/usb/serial/cypress_m8.c                    |    2 +-
 drivers/usb/serial/garmin_gps.c                    |    4 +-
 drivers/usb/serial/io_edgeport.c                   |    4 +-
 drivers/usb/serial/mos7720.c                       |    2 +-
 drivers/usb/serial/opticon.c                       |    4 +-
 drivers/usb/serial/sierra.c                        |    7 +-
 drivers/usb/serial/usb-serial.c                    |    2 +-
 drivers/usb/serial/usb_wwan.c                      |   13 +-
 drivers/usb/storage/transport.c                    |    2 +-
 drivers/usb/typec/Kconfig                          |   11 +
 drivers/usb/typec/Makefile                         |    3 +-
 drivers/usb/typec/anx7411.c                        | 1601 ++++++++++++++++++++
 drivers/usb/typec/class.c                          |  167 +-
 drivers/usb/typec/class.h                          |    6 +
 drivers/usb/typec/mux.c                            |    8 +-
 drivers/usb/typec/pd.c                             |  708 +++++++++
 drivers/usb/typec/pd.h                             |   30 +
 drivers/usb/typec/retimer.c                        |  173 +++
 drivers/usb/typec/retimer.h                        |   15 +
 drivers/usb/typec/tcpm/tcpci.c                     |    3 +-
 drivers/usb/typec/tcpm/tcpci_maxim.c               |    3 +-
 drivers/usb/typec/tcpm/tcpci_mt6360.c              |    3 +-
 drivers/usb/typec/tcpm/tcpci_rt1711h.c             |    2 +-
 drivers/usb/typec/tcpm/tcpm.c                      |  146 +-
 drivers/usb/typec/ucsi/Kconfig                     |   10 +
 drivers/usb/typec/ucsi/Makefile                    |    1 +
 drivers/usb/typec/ucsi/ucsi.c                      |    4 +
 drivers/usb/typec/ucsi/ucsi_ccg.c                  |   28 +-
 drivers/usb/typec/ucsi/ucsi_stm32g0.c              |  777 ++++++++++
 drivers/usb/usbip/vudc_rx.c                        |    6 +-
 drivers/usb/usbip/vudc_sysfs.c                     |   14 +-
 include/linux/of_platform.h                        |   22 +-
 include/linux/usb.h                                |    2 +
 include/linux/usb/hcd.h                            |    1 +
 include/linux/usb/onboard_hub.h                    |   18 +
 include/linux/usb/pd.h                             |   38 +
 .../usb/typec/tcpm => include/linux/usb}/tcpci.h   |    1 +
 include/linux/usb/typec.h                          |   23 +
 include/linux/usb/typec_altmode.h                  |    2 +-
 include/linux/usb/typec_mux.h                      |   44 +-
 include/linux/usb/typec_retimer.h                  |   45 +
 include/uapi/linux/usb/cdc.h                       |   13 +
 tools/usb/testusb.c                                |   18 +-
 173 files changed, 8399 insertions(+), 692 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-onboard-usb-hub
 create mode 100644 Documentation/ABI/testing/sysfs-class-usb_power_delivery
 create mode 100644 Documentation/devicetree/bindings/usb/analogix,anx7411.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/aspeed,ast2600-udc.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8041.yaml
 delete mode 100644 drivers/staging/octeon-usb/Kconfig
 delete mode 100644 drivers/staging/octeon-usb/Makefile
 delete mode 100644 drivers/staging/octeon-usb/TODO
 create mode 100644 drivers/usb/gadget/udc/aspeed_udc.c
 rename drivers/{staging/octeon-usb => usb/host}/octeon-hcd.c (100%)
 rename drivers/{staging/octeon-usb => usb/host}/octeon-hcd.h (100%)
 create mode 100644 drivers/usb/misc/onboard_usb_hub.c
 create mode 100644 drivers/usb/misc/onboard_usb_hub.h
 create mode 100644 drivers/usb/misc/onboard_usb_hub_pdevs.c
 create mode 100644 drivers/usb/musb/mpfs.c
 create mode 100644 drivers/usb/typec/anx7411.c
 create mode 100644 drivers/usb/typec/pd.c
 create mode 100644 drivers/usb/typec/pd.h
 create mode 100644 drivers/usb/typec/retimer.c
 create mode 100644 drivers/usb/typec/retimer.h
 create mode 100644 drivers/usb/typec/ucsi/ucsi_stm32g0.c
 create mode 100644 include/linux/usb/onboard_hub.h
 rename {drivers/usb/typec/tcpm => include/linux/usb}/tcpci.h (99%)
 create mode 100644 include/linux/usb/typec_retimer.h

Comments

Nathan Chancellor Aug. 3, 2022, 3:43 p.m. UTC | #1
On Wed, Aug 03, 2022 at 04:10:26PM +0200, Greg KH wrote:
> Andrey Strachuk (1):
>       usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()

For the record, this breaks allmodconfig with clang (I haven't seen a
formal report on it anywhere and this missed -next coverage because
Stephen is on vacation):

    drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
                    dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
                            ^~~~~~~~
    include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
            dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
                            ^~~
    include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
                            dev, fmt, ##__VA_ARGS__)
                            ^~~
    include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
            __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
                                                                ^~~~~~~~~~~
    include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
                    func(&id, ##__VA_ARGS__);               \
                                ^~~~~~~~~~~
    drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
            struct cdns3_device *priv_dev;
                                        ^
                                        = NULL
    1 error generated.

I know you don't take patches during the merge window, so I guess we'll
just have to have x86_64 allmodconfig be broken with clang for -rc1? :/

Cheers,
Nathan
Greg Kroah-Hartman Aug. 3, 2022, 3:50 p.m. UTC | #2
On Wed, Aug 03, 2022 at 08:43:49AM -0700, Nathan Chancellor wrote:
> On Wed, Aug 03, 2022 at 04:10:26PM +0200, Greg KH wrote:
> > Andrey Strachuk (1):
> >       usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
> 
> For the record, this breaks allmodconfig with clang (I haven't seen a
> formal report on it anywhere and this missed -next coverage because
> Stephen is on vacation):
> 
>     drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
>                     dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
>                             ^~~~~~~~
>     include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
>             dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
>                             ^~~
>     include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
>                             dev, fmt, ##__VA_ARGS__)
>                             ^~~
>     include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
>             __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
>                                                                 ^~~~~~~~~~~
>     include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
>                     func(&id, ##__VA_ARGS__);               \
>                                 ^~~~~~~~~~~
>     drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
>             struct cdns3_device *priv_dev;
>                                         ^
>                                         = NULL
>     1 error generated.
> 
> I know you don't take patches during the merge window, so I guess we'll
> just have to have x86_64 allmodconfig be broken with clang for -rc1? :/

I can send fix-up patches that break the build before -rc1 if you have
it.  Also you can send it and Linus can pick it up directly if it breaks
his workflow.

Odd that this was never reported, 0-day didn't even say anything?

thanks,

greg k-h
Krishna Kurapati Aug. 3, 2022, 3:56 p.m. UTC | #3
On 8/3/2022 9:20 PM, Greg KH wrote:
> On Wed, Aug 03, 2022 at 08:43:49AM -0700, Nathan Chancellor wrote:
>> On Wed, Aug 03, 2022 at 04:10:26PM +0200, Greg KH wrote:
>>> Andrey Strachuk (1):
>>>        usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
>> For the record, this breaks allmodconfig with clang (I haven't seen a
>> formal report on it anywhere and this missed -next coverage because
>> Stephen is on vacation):
>>
>>      drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
>>                      dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
>>                              ^~~~~~~~
>>      include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
>>              dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
>>                              ^~~
>>      include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
>>                              dev, fmt, ##__VA_ARGS__)
>>                              ^~~
>>      include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
>>              __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
>>                                                                  ^~~~~~~~~~~
>>      include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
>>                      func(&id, ##__VA_ARGS__);               \
>>                                  ^~~~~~~~~~~
>>      drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
>>              struct cdns3_device *priv_dev;
>>                                          ^
>>                                          = NULL
>>      1 error generated.
>>
>> I know you don't take patches during the merge window, so I guess we'll
>> just have to have x86_64 allmodconfig be broken with clang for -rc1? :/
> I can send fix-up patches that break the build before -rc1 if you have
> it.  Also you can send it and Linus can pick it up directly if it breaks
> his workflow.
>
> Odd that this was never reported, 0-day didn't even say anything?
>
> thanks,
>
> greg k-h
Hi Greg,
   On a similar note. There was another issue reported in which 
randconfig for i386 build breaks as usb_hub_find_child API is not 
present as usbcore isn't compiled in that config (CONFIG_USB isn't set).
Patch to fix has been pushed recently and is in review:
https://lore.kernel.org/linux-usb/1659337215-20421-1-git-send-email-quic_kriskura@quicinc.com/

Would it be possible to pick it up in rc1 to make sure nothing breaks 
further because of it.
I can respin patch if something is off in it.

Regards,
Krishna,
Nathan Chancellor Aug. 3, 2022, 3:58 p.m. UTC | #4
On Wed, Aug 03, 2022 at 05:50:43PM +0200, Greg KH wrote:
> On Wed, Aug 03, 2022 at 08:43:49AM -0700, Nathan Chancellor wrote:
> > On Wed, Aug 03, 2022 at 04:10:26PM +0200, Greg KH wrote:
> > > Andrey Strachuk (1):
> > >       usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
> > 
> > For the record, this breaks allmodconfig with clang (I haven't seen a
> > formal report on it anywhere and this missed -next coverage because
> > Stephen is on vacation):
> > 
> >     drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
> >                     dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
> >                             ^~~~~~~~
> >     include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
> >             dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
> >                             ^~~
> >     include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
> >                             dev, fmt, ##__VA_ARGS__)
> >                             ^~~
> >     include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
> >             __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
> >                                                                 ^~~~~~~~~~~
> >     include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
> >                     func(&id, ##__VA_ARGS__);               \
> >                                 ^~~~~~~~~~~
> >     drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
> >             struct cdns3_device *priv_dev;
> >                                         ^
> >                                         = NULL
> >     1 error generated.
> > 
> > I know you don't take patches during the merge window, so I guess we'll
> > just have to have x86_64 allmodconfig be broken with clang for -rc1? :/
> 
> I can send fix-up patches that break the build before -rc1 if you have
> it.  Also you can send it and Linus can pick it up directly if it breaks
> his workflow.

Sounds good, I'll send one shortly.

> Odd that this was never reported, 0-day didn't even say anything?

Unfortunately, it does not look like it, as least not on a mailing list
that is archived on lore (meaning it wasn't sent to our mailing list).

Cheers,
Nathan
Linus Torvalds Aug. 4, 2022, 6:45 p.m. UTC | #5
On Wed, Aug 3, 2022 at 8:43 AM Nathan Chancellor <nathan@kernel.org> wrote:
>
> For the record, this breaks allmodconfig with clang (I haven't seen a
> formal report on it anywhere and this missed -next coverage because
> Stephen is on vacation):

Hmm. It passes my own internal clang testing, but that's for a more
limited config.

So I've merged this in my tree, but would appreciate a fixup patch if
you have one.

                  Linus
Nathan Chancellor Aug. 4, 2022, 6:50 p.m. UTC | #6
On Thu, Aug 04, 2022 at 11:45:25AM -0700, Linus Torvalds wrote:
> On Wed, Aug 3, 2022 at 8:43 AM Nathan Chancellor <nathan@kernel.org> wrote:
> >
> > For the record, this breaks allmodconfig with clang (I haven't seen a
> > formal report on it anywhere and this missed -next coverage because
> > Stephen is on vacation):
> 
> Hmm. It passes my own internal clang testing, but that's for a more
> limited config.

I figured that would be the case. It appears that allmodconfig is now
broken for other reasons though (I missed the errors in -next amongst
some other breakage, I only caught it this morning around the same time
as Sudip):

https://lore.kernel.org/YuwRyQYPCb1FD+mr@debian/

> So I've merged this in my tree, but would appreciate a fixup patch if
> you have one.

I CC'd you on https://lore.kernel.org/20220803162422.2981308-1-nathan@kernel.org/,
let me know if you don't see it for some reason or if there is a better
fix.

Cheers,
Nathan
pr-tracker-bot@kernel.org Aug. 4, 2022, 7:26 p.m. UTC | #7
The pull request you sent on Wed, 3 Aug 2022 16:10:26 +0200:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/9e2e5ea3b28f81512c792f30729edb1db0c21f6a

Thank you!
Greg Kroah-Hartman Aug. 8, 2022, 1:07 p.m. UTC | #8
On Wed, Aug 03, 2022 at 09:26:55PM +0530, Krishna Kurapati PSSNV wrote:
> 
> On 8/3/2022 9:20 PM, Greg KH wrote:
> > On Wed, Aug 03, 2022 at 08:43:49AM -0700, Nathan Chancellor wrote:
> > > On Wed, Aug 03, 2022 at 04:10:26PM +0200, Greg KH wrote:
> > > > Andrey Strachuk (1):
> > > >        usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
> > > For the record, this breaks allmodconfig with clang (I haven't seen a
> > > formal report on it anywhere and this missed -next coverage because
> > > Stephen is on vacation):
> > > 
> > >      drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
> > >                      dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
> > >                              ^~~~~~~~
> > >      include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
> > >              dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
> > >                              ^~~
> > >      include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
> > >                              dev, fmt, ##__VA_ARGS__)
> > >                              ^~~
> > >      include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
> > >              __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
> > >                                                                  ^~~~~~~~~~~
> > >      include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
> > >                      func(&id, ##__VA_ARGS__);               \
> > >                                  ^~~~~~~~~~~
> > >      drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
> > >              struct cdns3_device *priv_dev;
> > >                                          ^
> > >                                          = NULL
> > >      1 error generated.
> > > 
> > > I know you don't take patches during the merge window, so I guess we'll
> > > just have to have x86_64 allmodconfig be broken with clang for -rc1? :/
> > I can send fix-up patches that break the build before -rc1 if you have
> > it.  Also you can send it and Linus can pick it up directly if it breaks
> > his workflow.
> > 
> > Odd that this was never reported, 0-day didn't even say anything?
> > 
> > thanks,
> > 
> > greg k-h
> Hi Greg,
>   On a similar note. There was another issue reported in which randconfig
> for i386 build breaks as usb_hub_find_child API is not present as usbcore
> isn't compiled in that config (CONFIG_USB isn't set).
> Patch to fix has been pushed recently and is in review:
> https://lore.kernel.org/linux-usb/1659337215-20421-1-git-send-email-quic_kriskura@quicinc.com/
> 
> Would it be possible to pick it up in rc1 to make sure nothing breaks
> further because of it.
> I can respin patch if something is off in it.

See my comments to that patch, and Johan's attempt at it.  Something
larger is broken here, let's not paper over the issue right now with a
#ifdef in the .c file.  Fix it properly for 6.0-final.  Builds without
CONFIG_USB and gadget-only mode enabled are rare but this can be fixed
up after -rc1 is out, no rush right now.

thanks,

greg k-h