linux/drivers/usb
Heikki Krogerus 730b49aac4 usb: typec: port-mapper: Convert to the component framework
Instead of trying to keep track of the connections to the
USB Type-C connectors separately, letting the component
framework take care of that.

From now on every USB Type-C connector will register itself
as "aggregate" - component master - and anything that can be
connected to it inside the system can then simply register
itself as a generic component.

The matching of the components and the connector shall rely
on ACPI _PLD initially. Before registering itself as the
aggregate, the connector will find all other ACPI devices
that have matching _PLD crc hash with it (matching value in
the pld_crc member of struct acpi_device), and add a
component match entry for each one of them. Because only
ACPI is supported for now, the driver shall only be build
when ACPI is supported.

This removes the need for the custom API that the driver
exposed. The components and the connector can therefore
exist completely independently of each other. The order in
which they are registered, as well as are they modules or
not, is now irrelevant.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20211223082422.45637-1-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-30 12:13:04 +01:00
..
atm
c67x00
cdns3 usb: cdns3: Use platform_get_irq_byname() to get the interrupt 2021-12-21 08:51:57 +01:00
chipidea usb: chipidea: Set the DT node on the child device 2021-12-17 16:52:27 +01:00
class
common
core usb: Link the ports to the connectors they are attached to 2021-12-30 12:13:04 +01:00
dwc2 Linux 5.16-rc6 2021-12-20 09:58:10 +01:00
dwc3 usb: dwc3: Drop unneeded calls to platform_get_resource_byname() 2021-12-21 08:51:57 +01:00
early Revert "usb: early: convert to readl_poll_timeout_atomic()" 2021-12-17 16:29:11 +01:00
gadget Linux 5.16-rc6 2021-12-20 09:58:10 +01:00
host usb: host: fotg210: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
image
isp1760 usb: isp1760: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
misc usb: misc: ehset: Rework test mode entry 2021-12-17 17:02:04 +01:00
mon
mtu3
musb usb: musb: dsps: Use platform_get_irq_byname() to get the interrupt 2021-12-21 08:51:57 +01: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
serial USB: serial: option: add Telit FN990 compositions 2021-12-14 09:22:06 +01:00
storage usb-storage: Remove redundant assignments 2021-12-30 12:10:17 +01:00
typec usb: typec: port-mapper: Convert to the component framework 2021-12-30 12:13:04 +01:00
usbip usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
Kconfig
Makefile
usb-skeleton.c