diff mbox

[3/4] HID: uclogic: present only the working interfaces on the Huion tablets

Message ID 1424822730-14938-4-git-send-email-benjamin.tissoires@redhat.com (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Benjamin Tissoires Feb. 25, 2015, 12:05 a.m. UTC
The Huion tablets show 3 interfaces. Only the first and the third
are currently used.
Also remove HID_QUIRK_MULTI_INPUT for the third interface to not
create more than needed input nodes.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
 drivers/hid/hid-uclogic.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Nikolai Kondrashov Feb. 25, 2015, 9:04 p.m. UTC | #1
On 02/25/2015 02:05 AM, Benjamin Tissoires wrote:
> The Huion tablets show 3 interfaces. Only the first and the third
> are currently used.
> Also remove HID_QUIRK_MULTI_INPUT for the third interface to not
> create more than needed input nodes.
>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> ---
>   drivers/hid/hid-uclogic.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c
> index 397f1df..c03e076 100644
> --- a/drivers/hid/hid-uclogic.c
> +++ b/drivers/hid/hid-uclogic.c
> @@ -840,6 +840,11 @@ static int uclogic_probe(struct hid_device *hdev,
>   				hid_err(hdev, "tablet enabling failed\n");
>   				return rc;
>   			}
> +		} else if (intf->cur_altsetting->desc.bInterfaceNumber == 2) {
> +			hdev->quirks &= ~HID_QUIRK_MULTI_INPUT;
> +		} else {
> +			/* Ignore all unused interfaces */
> +			return -ENODEV;
>   		}
>   		break;
>   	}
>

I would hesitate to remove the mouse interface as there are relatively fresh
UC-Logic tablets [1] out there which have a mouse, and which could respond to
the initialization. These mice are of questionable usefulness, true, but
leaving the interface enabled could make it easier for other people to
experiment with using this driver with their tablets.

What do you think, Benjamin?

Nick

[1] http://digimend.github.io/tablets/UC-Logic_TWHL850/
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires Feb. 25, 2015, 9:30 p.m. UTC | #2
On Feb 25 2015 or thereabouts, Nikolai Kondrashov wrote:
> On 02/25/2015 02:05 AM, Benjamin Tissoires wrote:
> >The Huion tablets show 3 interfaces. Only the first and the third
> >are currently used.
> >Also remove HID_QUIRK_MULTI_INPUT for the third interface to not
> >create more than needed input nodes.
> >
> >Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> >---
> >  drivers/hid/hid-uclogic.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> >diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c
> >index 397f1df..c03e076 100644
> >--- a/drivers/hid/hid-uclogic.c
> >+++ b/drivers/hid/hid-uclogic.c
> >@@ -840,6 +840,11 @@ static int uclogic_probe(struct hid_device *hdev,
> >  				hid_err(hdev, "tablet enabling failed\n");
> >  				return rc;
> >  			}
> >+		} else if (intf->cur_altsetting->desc.bInterfaceNumber == 2) {
> >+			hdev->quirks &= ~HID_QUIRK_MULTI_INPUT;
> >+		} else {
> >+			/* Ignore all unused interfaces */
> >+			return -ENODEV;
> >  		}
> >  		break;
> >  	}
> >
> 
> I would hesitate to remove the mouse interface as there are relatively fresh
> UC-Logic tablets [1] out there which have a mouse, and which could respond to
> the initialization. These mice are of questionable usefulness, true, but
> leaving the interface enabled could make it easier for other people to
> experiment with using this driver with their tablets.

OK, I will just remove the quirk for the mouse interface then.

> 
> What do you think, Benjamin?
> 

You have a better knowledge of the currently available devices. So I'll
follow your ideas.

> Nick
> 
> [1] http://digimend.github.io/tablets/UC-Logic_TWHL850/
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires Feb. 26, 2015, 5:02 p.m. UTC | #3
On Feb 25 2015 or thereabouts, Benjamin Tissoires wrote:
> On Feb 25 2015 or thereabouts, Nikolai Kondrashov wrote:
> > On 02/25/2015 02:05 AM, Benjamin Tissoires wrote:
> > >The Huion tablets show 3 interfaces. Only the first and the third
> > >are currently used.
> > >Also remove HID_QUIRK_MULTI_INPUT for the third interface to not
> > >create more than needed input nodes.
> > >
> > >Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > >---
> > >  drivers/hid/hid-uclogic.c | 5 +++++
> > >  1 file changed, 5 insertions(+)
> > >
> > >diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c
> > >index 397f1df..c03e076 100644
> > >--- a/drivers/hid/hid-uclogic.c
> > >+++ b/drivers/hid/hid-uclogic.c
> > >@@ -840,6 +840,11 @@ static int uclogic_probe(struct hid_device *hdev,
> > >  				hid_err(hdev, "tablet enabling failed\n");
> > >  				return rc;
> > >  			}
> > >+		} else if (intf->cur_altsetting->desc.bInterfaceNumber == 2) {
> > >+			hdev->quirks &= ~HID_QUIRK_MULTI_INPUT;
> > >+		} else {
> > >+			/* Ignore all unused interfaces */
> > >+			return -ENODEV;
> > >  		}
> > >  		break;
> > >  	}
> > >
> > 
> > I would hesitate to remove the mouse interface as there are relatively fresh
> > UC-Logic tablets [1] out there which have a mouse, and which could respond to
> > the initialization. These mice are of questionable usefulness, true, but
> > leaving the interface enabled could make it easier for other people to
> > experiment with using this driver with their tablets.
> 
> OK, I will just remove the quirk for the mouse interface then.
> 

I ended up removing this patch in the series. Having
HID_QUIRK_MULTI_INPUT set allows a fine tuning of the names of the input
nodes so we can just enhance the list of suffix and get something
sensible for the users.

The only concern is that there will be a second "Pen" interface, but
that can be removed based on the PID (or fixed with a report descriptor).
I'll add an extra patch for that too.

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c
index 397f1df..c03e076 100644
--- a/drivers/hid/hid-uclogic.c
+++ b/drivers/hid/hid-uclogic.c
@@ -840,6 +840,11 @@  static int uclogic_probe(struct hid_device *hdev,
 				hid_err(hdev, "tablet enabling failed\n");
 				return rc;
 			}
+		} else if (intf->cur_altsetting->desc.bInterfaceNumber == 2) {
+			hdev->quirks &= ~HID_QUIRK_MULTI_INPUT;
+		} else {
+			/* Ignore all unused interfaces */
+			return -ENODEV;
 		}
 		break;
 	}