2015-07-27 19:17:21

by Reilly Grant

[permalink] [raw]
Subject: [PATCH] HID: use generic driver for ThingM blink(1) if !CONFIG_HID_THINGM

In commit 30ba2fbde1840db44 an LED class driver for this device was
added and at the same time it was blacklisted by the hid-generic
driver. This patch removes the device from the hid-generic driver's
blacklist if the LED class driver is not enabled.

Signed-off-by: Reilly Grant <[email protected]>
---
drivers/hid/hid-core.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index d9c7cd9..afa744f 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1978,7 +1978,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_STEELSERIES, USB_DEVICE_ID_STEELSERIES_SRWS1) },
{ HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) },
+#if IS_ENABLED(CONFIG_HID_THINGM)
{ HID_USB_DEVICE(USB_VENDOR_ID_THINGM, USB_DEVICE_ID_BLINK1) },
+#endif
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323) },
--
2.5.0.rc2.392.g76e840b


2015-08-02 07:13:44

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] HID: use generic driver for ThingM blink(1) if !CONFIG_HID_THINGM

On Mon 2015-07-27 12:17:06, Reilly Grant wrote:
> In commit 30ba2fbde1840db44 an LED class driver for this device was
> added and at the same time it was blacklisted by the hid-generic
> driver. This patch removes the device from the hid-generic driver's
> blacklist if the LED class driver is not enabled.
>
> Signed-off-by: Reilly Grant <[email protected]>

I'd not do it.

Either special driver for this is not needed, and should be
removed. Or we should ask users to always use the special driver. We
should not have two drivers for same hardware.

Pavel

> drivers/hid/hid-core.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index d9c7cd9..afa744f 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1978,7 +1978,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
> { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) },
> { HID_USB_DEVICE(USB_VENDOR_ID_STEELSERIES, USB_DEVICE_ID_STEELSERIES_SRWS1) },
> { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) },
> +#if IS_ENABLED(CONFIG_HID_THINGM)
> { HID_USB_DEVICE(USB_VENDOR_ID_THINGM, USB_DEVICE_ID_BLINK1) },
> +#endif
> { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) },
> { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) },
> { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323) },

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2015-08-03 09:25:14

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: use generic driver for ThingM blink(1) if !CONFIG_HID_THINGM

On Sun, 2 Aug 2015, Reilly Grant wrote:

> There is existing user space software (not just mine, also from the
> manufacturer) that does not use the special driver and instead uses hidraw
> or usbdevice_fs to control the device. LED class driver support for this
> device is useful but should be optional.

Is there any problem for the userspace software to unbind the kernel
driver first?

--
Jiri Kosina
SUSE Labs

2015-08-03 16:52:49

by Reilly Grant

[permalink] [raw]
Subject: Re: [PATCH] HID: use generic driver for ThingM blink(1) if !CONFIG_HID_THINGM

If the software is using usbdevice_fs, no, it can simply detach the
kernel driver. If the software is using hidraw then this blacklist
becomes the issue because even if you unload the special driver the
generic HID driver won't load. Is there a mechanism in the HID
subsystem for drivers to build on top of the generic one instead of
replacing it?


On Mon, Aug 3, 2015, 2:25 AM Jiri Kosina <[email protected]> wrote:
>
> On Sun, 2 Aug 2015, Reilly Grant wrote:
>
> > There is existing user space software (not just mine, also from the
> > manufacturer) that does not use the special driver and instead uses hidraw
> > or usbdevice_fs to control the device. LED class driver support for this
> > device is useful but should be optional.
>
> Is there any problem for the userspace software to unbind the kernel
> driver first?
>
> --
> Jiri Kosina
> SUSE Labs