[PATCH v2 0/9] device connection: Add support for device graphs

From: Heikki Krogerus
Date: Wed Jan 30 2019 - 11:03:05 EST


Hi,

This is the second version of this series. On top the two code style
improvements requested by Andy, I also renamed the connection
identifiers used with the USB Type-C muxes for something that I felt
are better, especially after we start using them to name reference
device properties in fwnodes. That's why the first patch is now split
in two, 1/9 and 3/9.

Hans! Please note that there is no functional change. The alt mode
device is still getting a handle to the mux, just like before.
That was actually happening also in the first version of the series.

The commit message from v1:

This series adds support for OF and ACPI device graph parsing to the
device connection API.

Handling the graph is straightforward, but because I'm adding that
fwnode member to struct device_connection, I had to make sure all the
existing users consider it.

The plan is to only support matching with fwnode in the future, so no
more device name matching. The software fwnodes that we now have in
kernel should make that possible, once we add support for references
to them.

The original RFC:
https://lkml.org/lkml/2018/10/24/619

thanks,

Heikki Krogerus (9):
platform/x86: intel_cht_int33fe: Prepare for better mux naming scheme
usb: typec: Rationalize the API for the muxes
platform/x86: intel_cht_int33fe: Remove old style mux connections
device connection: Add fwnode member to struct device_connection
usb: typec: mux: Find the muxes by also matching against the device
node
usb: roles: Find the muxes by also matching against the device node
usb: typec: Find the ports by also matching against the device node
device connection: Prepare support for firmware described connections
device connection: Find device connections also from device graphs

drivers/base/devcon.c | 62 ++++++++++++++-
drivers/platform/x86/intel_cht_int33fe.c | 15 ++--
drivers/usb/roles/class.c | 21 +++++-
drivers/usb/typec/class.c | 31 ++++++--
drivers/usb/typec/mux.c | 96 ++++++++++++++++++++----
include/linux/device.h | 6 ++
include/linux/usb/role.h | 1 +
include/linux/usb/typec_mux.h | 3 +-
8 files changed, 195 insertions(+), 40 deletions(-)

--
2.20.1