Message ID | 20200324100923.8332-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | a599a0fb629a61ef0c8c47312152866d24faeaff |
Headers | show |
Series | [v2] usb: core: Add ACPI support for USB interface devices | expand |
On Tue, Mar 24, 2020 at 11:09 AM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > Currently on ACPI-enabled systems the USB interface device has no link to > the actual firmware node and thus drivers may not parse additional information > given in the table. The new feature, proposed here, allows to pass properties > or other information to the drivers. > > The ACPI companion of the device has to be set for USB interface devices > to achieve above. Use ACPI_COMPANION_SET macro to set this. > > Note, OF already does link of_node and this is the same for ACPI case. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > v2: rewrite commit message to emphasize that it is a new feature (Greg) > drivers/usb/core/message.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c > index 5adf489428aa..d5f834f16993 100644 > --- a/drivers/usb/core/message.c > +++ b/drivers/usb/core/message.c > @@ -5,6 +5,7 @@ > * Released under the GPLv2 only. > */ > > +#include <linux/acpi.h> > #include <linux/pci.h> /* for scatterlist macros */ > #include <linux/usb.h> > #include <linux/module.h> > @@ -1941,6 +1942,7 @@ int usb_set_configuration(struct usb_device *dev, int configuration) > intf->dev.of_node = usb_of_get_interface_node(dev, > configuration, ifnum); > } > + ACPI_COMPANION_SET(&intf->dev, ACPI_COMPANION(&dev->dev)); > intf->dev.driver = NULL; > intf->dev.bus = &usb_bus_type; > intf->dev.type = &usb_if_device_type; > -- > 2.25.1 >
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 5adf489428aa..d5f834f16993 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -5,6 +5,7 @@ * Released under the GPLv2 only. */ +#include <linux/acpi.h> #include <linux/pci.h> /* for scatterlist macros */ #include <linux/usb.h> #include <linux/module.h> @@ -1941,6 +1942,7 @@ int usb_set_configuration(struct usb_device *dev, int configuration) intf->dev.of_node = usb_of_get_interface_node(dev, configuration, ifnum); } + ACPI_COMPANION_SET(&intf->dev, ACPI_COMPANION(&dev->dev)); intf->dev.driver = NULL; intf->dev.bus = &usb_bus_type; intf->dev.type = &usb_if_device_type;
Currently on ACPI-enabled systems the USB interface device has no link to the actual firmware node and thus drivers may not parse additional information given in the table. The new feature, proposed here, allows to pass properties or other information to the drivers. The ACPI companion of the device has to be set for USB interface devices to achieve above. Use ACPI_COMPANION_SET macro to set this. Note, OF already does link of_node and this is the same for ACPI case. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v2: rewrite commit message to emphasize that it is a new feature (Greg) drivers/usb/core/message.c | 2 ++ 1 file changed, 2 insertions(+)