diff mbox series

add ALWAYS_POLL quirk to lenovo pixart mouse

Message ID 20200304164700.11574-1-tony.fischetti@gmail.com (mailing list archive)
State New
Delegated to: Jiri Kosina
Headers show
Series add ALWAYS_POLL quirk to lenovo pixart mouse | expand

Commit Message

Tony Fischetti March 4, 2020, 4:47 p.m. UTC
A lenovo pixart mouse (17ef:608d) is afflicted common the the malfunction
where it disconnects and reconnects every minute--each time incrementing
the device number. This patch adds the device id of the device and
specifies that it needs the HID_QUIRK_ALWAYS_POLL quirk in order to
work properly.
---
 drivers/hid/hid-ids.h    | 1 +
 drivers/hid/hid-quirks.c | 1 +
 2 files changed, 2 insertions(+)

Comments

Jiri Kosina March 10, 2020, 11:53 a.m. UTC | #1
On Wed, 4 Mar 2020, Tony Fischetti wrote:

> A lenovo pixart mouse (17ef:608d) is afflicted common the the malfunction
> where it disconnects and reconnects every minute--each time incrementing
> the device number. This patch adds the device id of the device and
> specifies that it needs the HID_QUIRK_ALWAYS_POLL quirk in order to
> work properly.

You are missing Signed-off-by: line here (please see 
Documentation/process/5.Posting.rst and 
Documentation/process/submitting-patches.rst to read what this is about).

Also, we generally prefix all the patches to HID susbsytem with 'HID: ' in 
the subject / shortlog, so as you'll be resending with signoff, could you 
please fix that up at the same time as well?

Thanks,
Filipe Laíns March 10, 2020, 1:48 p.m. UTC | #2
On Wed, 2020-03-04 at 11:47 -0500, Tony Fischetti wrote:
> A lenovo pixart mouse (17ef:608d) is afflicted common the the malfunction
> where it disconnects and reconnects every minute--each time incrementing
> the device number. This patch adds the device id of the device and
> specifies that it needs the HID_QUIRK_ALWAYS_POLL quirk in order to
> work properly.
> ---
>  drivers/hid/hid-ids.h    | 1 +
>  drivers/hid/hid-quirks.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 3a400ce603c4..9e1dfc714ea8 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -726,6 +726,7 @@
>  #define USB_DEVICE_ID_LENOVO_X1_COVER	0x6085
>  #define USB_DEVICE_ID_LENOVO_X1_TAB	0x60a3
>  #define USB_DEVICE_ID_LENOVO_X1_TAB3	0x60b5
> +#define USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE	0x608d

This ID is really ambiguous. Pixart makes the sensors for the big
majority of devices. Isn't there any other identifier you could use? If
there isn't, you could do USB_DEVICE_ID_LENOVO_MOUSE_608D.

>  #define USB_VENDOR_ID_LG		0x1fd2
>  #define USB_DEVICE_ID_LG_MULTITOUCH	0x0064
> diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> index 0e7b2d998395..247747d6d8cf 100644
> --- a/drivers/hid/hid-quirks.c
> +++ b/drivers/hid/hid-quirks.c
> @@ -103,6 +103,7 @@ static const struct hid_device_id hid_quirks[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },
Tony Fischetti March 12, 2020, 3:22 p.m. UTC | #3
Thanks for the feedback, y'all.
I will rename the device and add the signed-off field and resubmit.
Thanks again

On Tue, Mar 10, 2020 at 9:48 AM Filipe Laíns <lains@archlinux.org> wrote:
>
> On Wed, 2020-03-04 at 11:47 -0500, Tony Fischetti wrote:
> > A lenovo pixart mouse (17ef:608d) is afflicted common the the malfunction
> > where it disconnects and reconnects every minute--each time incrementing
> > the device number. This patch adds the device id of the device and
> > specifies that it needs the HID_QUIRK_ALWAYS_POLL quirk in order to
> > work properly.
> > ---
> >  drivers/hid/hid-ids.h    | 1 +
> >  drivers/hid/hid-quirks.c | 1 +
> >  2 files changed, 2 insertions(+)
> >
> > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> > index 3a400ce603c4..9e1dfc714ea8 100644
> > --- a/drivers/hid/hid-ids.h
> > +++ b/drivers/hid/hid-ids.h
> > @@ -726,6 +726,7 @@
> >  #define USB_DEVICE_ID_LENOVO_X1_COVER        0x6085
> >  #define USB_DEVICE_ID_LENOVO_X1_TAB  0x60a3
> >  #define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
> > +#define USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE        0x608d
>
> This ID is really ambiguous. Pixart makes the sensors for the big
> majority of devices. Isn't there any other identifier you could use? If
> there isn't, you could do USB_DEVICE_ID_LENOVO_MOUSE_608D.
>
> >  #define USB_VENDOR_ID_LG             0x1fd2
> >  #define USB_DEVICE_ID_LG_MULTITOUCH  0x0064
> > diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> > index 0e7b2d998395..247747d6d8cf 100644
> > --- a/drivers/hid/hid-quirks.c
> > +++ b/drivers/hid/hid-quirks.c
> > @@ -103,6 +103,7 @@ static const struct hid_device_id hid_quirks[] = {
> >       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
> >       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
> >       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
> > +     { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
> >       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL },
> >       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL },
> >       { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },
>
> --
> Filipe Laíns
Jiri Kosina March 13, 2020, 11:23 a.m. UTC | #4
On Thu, 12 Mar 2020, Tony Fischetti wrote:

> Thanks for the feedback, y'all.
> I will rename the device and add the signed-off field and resubmit.
> Thanks again

Please do it as a followup patch on top of your previous one, as I've 
already pushed that one out and we are generally not rebasing live 
branches in hid.git.

Thanks,
Tony Fischetti March 15, 2020, 1:07 a.m. UTC | #5
Before I got your email, I sent the patch again, separately.
I'm terribly sorry but I'm new to kernel development—how do I send it
instead as a followup patch? Do you mean just responding to this
thread with the new patch?

On Fri, Mar 13, 2020 at 7:23 AM Jiri Kosina <jikos@kernel.org> wrote:
>
> On Thu, 12 Mar 2020, Tony Fischetti wrote:
>
> > Thanks for the feedback, y'all.
> > I will rename the device and add the signed-off field and resubmit.
> > Thanks again
>
> Please do it as a followup patch on top of your previous one, as I've
> already pushed that one out and we are generally not rebasing live
> branches in hid.git.
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 3a400ce603c4..9e1dfc714ea8 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -726,6 +726,7 @@ 
 #define USB_DEVICE_ID_LENOVO_X1_COVER	0x6085
 #define USB_DEVICE_ID_LENOVO_X1_TAB	0x60a3
 #define USB_DEVICE_ID_LENOVO_X1_TAB3	0x60b5
+#define USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE	0x608d
 
 #define USB_VENDOR_ID_LG		0x1fd2
 #define USB_DEVICE_ID_LG_MULTITOUCH	0x0064
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 0e7b2d998395..247747d6d8cf 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -103,6 +103,7 @@  static const struct hid_device_id hid_quirks[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },