[PATCH v4 0/5] acpi: Store _PLD information and convert users

Heikki Krogerus
2021-12-22T14:32:59Z

Hi,

Now only storing the crc hash to a new member in struct acpi_device,
just like proposed by Rafael. In port-mapper.c I'm then scanning the
acpi bus separately with every port in order to find the matching
devices.

v3 cover letter:

The _PLD buffer is no longer stored as requested by Rafael, so the
drivers will need to continue to evaluate the _PLD if they need it.

The stored locations will therefore only contain the list of other
devices that share the location, but that is most important, and in
practice the main goal of the series in any case.

v2 cover letter:

I'm now using the helpers device_match_acpi_dev() and
device_match_fwnode() like Andy suggested. No other changes.

The original cover letter:

This removes the need for the drivers to always separately evaluate
the _PLD. With the USB Type-C connector and USB port mapping this
allows us to start using the component framework and remove the custom
APIs.

So far the only users of the _PLD information have been the USB
drivers, but it seems it will be used also at least in some camera
drivers later. These nevertheless touch mostly USB drivers.

thanks,

Heikki Krogerus (5):
acpi: Export acpi_bus_type
acpi: Store CRC-32 hash of the _PLD in struct acpi_device
usb: Link the ports to the connectors they are attached to
usb: typec: port-mapper: Convert to the component framework
usb: Remove usb_for_each_port()

Documentation/ABI/testing/sysfs-bus-usb | 9 +
drivers/acpi/bus.c | 1 +
drivers/acpi/scan.c | 16 ++
drivers/usb/core/port.c | 32 +++
drivers/usb/core/usb.c | 46 ----
drivers/usb/typec/Makefile | 3 +-
drivers/usb/typec/class.c | 2 -
drivers/usb/typec/class.h | 10 +-
drivers/usb/typec/port-mapper.c | 279 ++++--------------------
include/acpi/acpi_bus.h | 14 +-
include/linux/usb.h | 9 -
include/linux/usb/typec.h | 12 -
12 files changed, 117 insertions(+), 316 deletions(-)

--
2.34.1