On Tuesday 21 August 2012 21:06:26 Henrik Rydberg wrote: > Hi Simon, > > > We're going through our collection of touch screens, making sure that they > > all > > work with current kernels, and we've found one that doesn't work with > > today's > > Linus master. > > > > lsusb describes the screen as: > > Bus 006 Device 002: ID 0408:3001 Quanta Computer, Inc. Optical Touch Screen > > What about 0408:3008, does that one work? > I don't have a sample of 0408:3008 to try.
> > Any ideas on the best way to resolve this regression?
>
> What does 'cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias' say?
It's the same whether or not I revert the patch:
# cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias
hid:b0003g0000v00000408p00003001
If I've understood hid-code.c correctly, this means that
hdev->group == HID_GROUP_ANY, implying that neither hid_scan_usage nor
hid_scan_report have run.
>
> The patch below ought to be enough to make it work, although it is
> still unclear why it is needed.
>
I'd like to get to the bottom of why this patch is needed - the patch I
reverted covered 71 touchscreen controllers, and the fact that hdev->group is
set to HID_GROUP_ANY worries me - I'm concerned that there's something
deeper wrong that's causing the USB HID core to not be able to get the report
descriptor reliably.
> Thanks,
> Henrik
>
> ---
>
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index bd4bc3c..2b775c3 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -963,7 +963,7 @@ static const struct hid_device_id mt_devices[] = {
> MT_USB_DEVICE(USB_VENDOR_ID_QUANTA,
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) },
> { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID,
> - MT_USB_DEVICE(USB_VENDOR_ID_QUANTA,
> + HID_USB_DEVICE(USB_VENDOR_ID_QUANTA,
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) },
> { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID,
> MT_USB_DEVICE(USB_VENDOR_ID_QUANTA,
--
Simon Farnsworth
Software Engineer
ONELAN Ltd
http://www.onelan.com
signature.asc
Description: This is a digitally signed message part.
