diff mbox series

[v11,2/4] HID: usbhid: Share USB device firmware node with child HID device

Message ID 20240605-cp2112-dt-v11-2-d55f0f945a62@plexus.com (mailing list archive)
State New
Delegated to: Jiri Kosina
Headers show
Series Firmware Support for USB-HID Devices and CP2112 | expand

Commit Message

Danny Kaehn June 5, 2024, 11:12 p.m. UTC
USB HID core now shares its fwnode with its child HID device.
Since there can only be one HID device on a USB interface, it is redundant
to specify a hid node under the USB device. This allows usb HID device
drivers to be described in firmware and make use of device properties.

Signed-off-by: Danny Kaehn <danny.kaehn@plexus.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/hid/usbhid/hid-core.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Benjamin Tissoires June 6, 2024, 7:31 a.m. UTC | #1
On Jun 06 2024, Andy Shevchenko wrote:
> On Wed, Jun 05, 2024 at 06:12:45PM -0500, Danny Kaehn wrote:
> > USB HID core now shares its fwnode with its child HID device.
> > Since there can only be one HID device on a USB interface, it is redundant
> > to specify a hid node under the USB device. This allows usb HID device
> > drivers to be described in firmware and make use of device properties.
> 
> Can this patch be applied already, so we don't drag it again and again?

done :)

Cheers,
Benjamin
diff mbox series

Patch

diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index a90ed2ceae84..cb687ea7325c 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -19,6 +19,7 @@ 
 #include <linux/list.h>
 #include <linux/mm.h>
 #include <linux/mutex.h>
+#include <linux/property.h>
 #include <linux/spinlock.h>
 #include <asm/unaligned.h>
 #include <asm/byteorder.h>
@@ -1374,6 +1375,7 @@  static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id *
 	hid->hiddev_report_event = hiddev_report_event;
 #endif
 	hid->dev.parent = &intf->dev;
+	device_set_node(&hid->dev, dev_fwnode(&intf->dev));
 	hid->bus = BUS_USB;
 	hid->vendor = le16_to_cpu(dev->descriptor.idVendor);
 	hid->product = le16_to_cpu(dev->descriptor.idProduct);