Re: [PATCH] HID: hid-multitouch: Only match MT interfaces

From: Jiri Kosina
Date: Fri May 04 2012 - 08:06:38 EST


On Fri, 4 May 2012, Benjamin Tissoires wrote:

> > All known hid-multitouch devices currently match any device group.
> > However, some devices present interfaces belonging to different groups,
> > resulting in a race between the hid-generic and hid-multitouch modules.
> > This patch narrows the MT device list to match only HID_GROUP_MULTITOUCH,
> > which solves the problem.
> >
> > Reported-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxx>
> > Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>
> > ---
> >  drivers/hid/hid-multitouch.c |  145 +++++++++++++++++++++---------------------
> >  1 file changed, 74 insertions(+), 71 deletions(-)
> >
> > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> > index ea465f1..20e9552 100644
> > --- a/drivers/hid/hid-multitouch.c
> > +++ b/drivers/hid/hid-multitouch.c
> > @@ -110,6 +110,9 @@ struct mt_device {
> >
> >  #define MT_DEFAULT_MAXCONTACT  10
> >
> > +#define MT_USB_DEVICE(v, p)    HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH, v, p)
> > +#define MT_BT_DEVICE(v, p)     HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH, v, p)
> > +
> >  /*
> >  * these device-dependent functions determine what slot corresponds
> >  * to a valid contact that was just read.
> > @@ -735,276 +738,276 @@ static const struct hid_device_id mt_devices[] = {
> >
> >        /* 3M panels */
> >        { .driver_data = MT_CLS_3M,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_3M,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_3M,
> >                        USB_DEVICE_ID_3M1968) },
> >        { .driver_data = MT_CLS_3M,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_3M,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_3M,
> >                        USB_DEVICE_ID_3M2256) },
> >        { .driver_data = MT_CLS_3M,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_3M,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_3M,
> >                        USB_DEVICE_ID_3M3266) },
> >
> >        /* ActionStar panels */
> >        { .driver_data = MT_CLS_DEFAULT,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR,
> >                        USB_DEVICE_ID_ACTIONSTAR_1011) },
> >
> >        /* Atmel panels */
> >        { .driver_data = MT_CLS_SERIAL,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_ATMEL,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_ATMEL,
> >                        USB_DEVICE_ID_ATMEL_MULTITOUCH) },
> >        { .driver_data = MT_CLS_SERIAL,
> > -               HID_USB_DEVICE(USB_VENDOR_ID_ATMEL,
> > +               MT_USB_DEVICE(USB_VENDOR_ID_ATMEL,
> >                        USB_DEVICE_ID_ATMEL_MXT_DIGITIZER) },
> >
>
> You are missing /* Baanto multitouch devices */ here. Please use the
> branch for-next of Jiri....

This is not necessary ... I will have to fix the merge conflict one way or
another anyway, that's fine.

Thanks,

--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/