[PATCH 0/6] usb: Handle device properties with software node API

Heikki Krogerus
2021-02-02T12:52:31Z

Hi,

Currently it is not possible to take full advantage of software
fwnodes in the drivers because device_del() is calling
device_remove_properties() (that removes the software node attached to
the device) unconditionally which prevents the software nodes from
being reused or shared, and because subsystems are dealing with device
properties instead of software nodes which in many cases prevents the
drivers from using software nodes at all.

To fix the situation, the device_remove_properties() call in
device_del() has to be removed, and later the subsystems need to be
converted so that they deal with software nodes instead of just device
properties. But before that can be done, the drivers must be prepared
for those changes. These patches do that for the USB drivers.

The first patch introduces device_create_managed_software_node()
function that can be used as a drop-in replacement for
device_add_properties(). The rest of the patches simply use that
function, or convert the drivers in some other way to use software
nodes instead of just the device properties in them.

thanks,

Heikki Krogerus (6):
software node: Provide replacement for device_add_properties()
usb: dwc2: pci: Drop the empty quirk function
usb: dwc3: haps: Constify the software node
usb: dwc3: qcom: Constify the software node
usb: dwc3: host: Use software node API with the properties
xhci: ext-caps: Use software node API with the properties

drivers/base/swnode.c | 43 ++++++++++++++++++++++++++++++++
drivers/usb/dwc2/pci.c | 18 -------------
drivers/usb/dwc3/dwc3-haps.c | 8 +++++-
drivers/usb/dwc3/dwc3-qcom.c | 12 ++++++---
drivers/usb/dwc3/host.c | 2 +-
drivers/usb/host/xhci-ext-caps.c | 3 ++-
include/linux/property.h | 4 +++
7 files changed, 66 insertions(+), 24 deletions(-)

--
2.30.0