[PATCH 00/12] Software fwnode references

Heikki Krogerus
2019-04-10T15:25:17Z

Hi,

This is the second version of this series. In this version I'm
introducing a new helper device_find_child_by_name() as proposed
by Andy. Andy requested also another helper that could be used for
chaining the fwnodes, but I decided not to add that now. I would like
to still think about how we should handle exceptions like if there
already is a secondary node assigned for a node.

The v1 commit message:

This series adds support for software fwnode reference handling. In
practice it means making fwnode_property_get_reference_args() function
usable in the drivers also with software nodes. I send the series
originally as RFC [1].

As the first user for the software node references, I'm converting
intel_cht_int33fe.c to use them as part of the series.

[1] https://lkml.org/lkml/2019/3/15/457

thanks,

Heikki Krogerus (12):
software node: Allow node creation without properties
software node: Simplify software_node_release() function
software node: Add support for references
software node: Implement .get_reference_args fwnode operation
driver core: Add helper device_find_child_by_name()
ACPI / property: Don't limit named child node matching to data nodes
device connection: Find connections also by checking the references
usb: typec: Registering real device entries for the muxes
platform/x86: intel_cht_int33fe: Provide software nodes for the
devices
platform/x86: intel_cht_int33fe: Provide fwnode for the USB connector
platform/x86: intel_cht_int33fe: Link with external dependencies using
fwnodes
platform/x86: intel_cht_int33fe: Replacing the old connections with
references

drivers/acpi/property.c | 26 +-
drivers/base/core.c | 31 +++
drivers/base/devcon.c | 28 ++
drivers/base/swnode.c | 180 +++++++++++-
drivers/platform/x86/intel_cht_int33fe.c | 339 +++++++++++++++++++----
drivers/usb/typec/bus.h | 15 +
drivers/usb/typec/class.c | 17 +-
drivers/usb/typec/mux.c | 221 ++++++++++-----
drivers/usb/typec/mux/pi3usb30532.c | 46 +--
include/linux/device.h | 2 +
include/linux/property.h | 8 +
include/linux/usb/typec_mux.h | 62 ++---
12 files changed, 791 insertions(+), 184 deletions(-)

--
2.20.1