linux/drivers/usb
Alan Stern fc274c1e99 USB: gadget: Add a new bus for gadgets
This patch adds a "gadget" bus and uses it for registering gadgets and
their drivers.  From now on, bindings will be managed by the driver
core rather than through ad-hoc manipulations in the UDC core.

As part of this change, the driver_pending_list is removed.  The UDC
core won't need to keep track of unbound drivers for later binding,
because the driver core handles all of that for us.

However, we do need one new feature: a way to prevent gadget drivers
from being bound to more than one gadget at a time.  The existing code
does this automatically, but the driver core doesn't -- it's perfectly
happy to bind a single driver to all the matching devices on the bus.
The patch adds a new bitflag to the usb_gadget_driver structure for
this purpose.

A nice side effect of this change is a reduction in the total lines of
code, since now the driver core will do part of the work that the UDC
used to do.

A possible future patch could add udc devices to the gadget bus, say
as a separate device type.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/YmSpdxaDNeC2BBOf@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-26 14:00:16 +02:00
..
atm usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
c67x00 usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
cdns3 Linux 5.17-rc2 2022-01-31 10:13:10 +01:00
chipidea usb: udc: Fix typo in comment 2022-01-31 14:24:39 +01:00
class usb: usbtmc: Fix bug in pipe direction for control transfers 2022-03-15 18:45:31 +01:00
common usb: common: usb-conn-gpio: Make VBUS supply completely optional 2022-03-15 18:22:15 +01:00
core usb: core: devices: drop redundant buffer overflow checks 2022-04-26 13:57:38 +02:00
dwc2 USB: dwc2: Add OTG support for Ingenic SoCs. 2022-04-21 19:22:00 +02:00
dwc3 usb: dwc3: pci: Fix pm_runtime_get_sync() error checking 2022-04-23 10:33:52 +02:00
early usb: early: xhci-dbc: Fix xdbc number parsing 2022-03-15 18:20:34 +01:00
gadget USB: gadget: Add a new bus for gadgets 2022-04-26 14:00:16 +02:00
host usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
image scsi: Remove drivers/scsi/scsi.h 2022-02-22 21:11:02 -05:00
isp1760 usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
misc usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
mon
mtu3 usb: mtu3: set interval of FS intr and isoc endpoint 2021-12-21 09:05:45 +01:00
musb usb: musb: mediatek: Use clk_bulk API to simplify clock operations 2022-04-21 19:23:46 +02:00
phy usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
renesas_usbhs usb: renesas_usbhs: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial TTY/Serial driver changes for 5.18-rc1 2022-03-28 13:00:51 -07:00
storage usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
typec usb: typec: mux: Add On Semi fsa4480 driver 2022-04-26 13:47:13 +02:00
usbip usb: usbip: add missing device lock on tweak configuration cmd 2022-04-21 19:01:25 +02:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile usb: host: remove line for obsolete config USB_HWA_HCD 2021-08-18 15:32:19 +02:00
usb-skeleton.c usb: usb-skeleton: Update min() to min_t() 2021-10-05 12:56:48 +02:00