2011-06-10 18:23:49

by Aristeu Rozanski

[permalink] [raw]
Subject: [PATCH] wacom: use only one interface with DTU-2231

The Wacom DTU-2231 tablet has two interfaces on its default configuration and
both have HID class, leading to the creation of two input devices
instead of one. Only the first one is used, so filter out the second.

index 08ba5ad..41ae3c6 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -15,6 +15,7 @@
#include "wacom_wac.h"
#include "wacom.h"
#include <linux/input/mt.h>
+#include <linux/hid.h>

/* resolution for penabled devices */
#define WACOM_PL_RES 20
@@ -1483,6 +1484,11 @@ static const struct wacom_features wacom_features_0x6004 =
USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \
.driver_info = (kernel_ulong_t)&wacom_features_##prod

+#define USB_DEVICE_DETAILED(prod, class, sub, proto) \
+ USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_WACOM, prod, class, \
+ sub, proto), \
+ .driver_info = (kernel_ulong_t)&wacom_features_##prod
+
#define USB_DEVICE_LENOVO(prod) \
USB_DEVICE(USB_VENDOR_ID_LENOVO, prod), \
.driver_info = (kernel_ulong_t)&wacom_features_##prod
@@ -1545,7 +1551,13 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_WACOM(0xC5) },
{ USB_DEVICE_WACOM(0xC6) },
{ USB_DEVICE_WACOM(0xC7) },
- { USB_DEVICE_WACOM(0xCE) },
+ /*
+ * DTU-2231 has two interfaces on the same configuration, only one is
+ * used
+ */
+ { USB_DEVICE_DETAILED(0xCE, USB_CLASS_HID,
+ USB_INTERFACE_SUBCLASS_BOOT,
+ USB_INTERFACE_PROTOCOL_MOUSE) },
{ USB_DEVICE_WACOM(0xD0) },
{ USB_DEVICE_WACOM(0xD1) },
{ USB_DEVICE_WACOM(0xD2) },


2011-06-10 19:25:33

by Aristeu Rozanski

[permalink] [raw]
Subject: Re: [PATCH] wacom: use only one interface with DTU-2231

On Fri, Jun 10, 2011 at 12:17:51PM -0700, Ping Cheng wrote:
> On Fri, Jun 10, 2011 at 11:23 AM, Aristeu Rozanski <[email protected]> wrote:
>
> > The Wacom DTU-2231 tablet has two interfaces on its default configuration
> > and
> > both have HID class, leading to the creation of two input devices
> > instead of one. Only the first one is used, so filter out the second.
> >
>
> Reviewed-by: Ping Cheng <[email protected]>
>
> Thank you for the patch. You forgot to put your s-o-b though.
oops :)

Signed-off-by: Aristeu Rozanski <[email protected]>

--
Aristeu