usbtouchscreen: support bigger iNexio touchscreens
Subsystems (2)
PATCH 2/3 usbtouchscreen: support bigger iNexio touchscreens
From: Ondrej Zary <[email protected]>
Bigger Nexio touchscreens not only send more data but also the header values are modified somehow. Fix the header somehow (it's a guesswork but it works at least on one 46" touchscreen with 2.00SMS firmware) and also increase rept_size.
Signed-off-by Ondrej Zary <[email protected]>
Cc Oliver Neukum <[email protected]>
Cc Dmitry Torokhov <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
drivers/input/touchscreen/usbtouchscreen.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/input/touchscreen/usbtouchscreen.c renamed from drivers/input/touchscreen/usbtouchscreen.c~usbtouchscreen-support-bigger-inexio-touchscreens +6 -1
@@ -858,6 +858,11 @@ static int nexio_read_data(struct usbtouif ((pkt[0 ] &0xe0 ) !=0xe0 )return 0 ; +if (be16_to_cpu (packet->data_len) >0xff ) + packet->data_len =cpu_to_be16 (be16_to_cpu (packet->data_len) -0x100 ); +if (be16_to_cpu (packet->x_len) >0xff ) + packet->x_len =cpu_to_be16 (be16_to_cpu (packet->x_len) -0x80 ); +/* send ACK */ ret =usb_submit_urb (priv->ack,GFP_ATOMIC );
@@ -1113,7 +1118,7 @@ static struct usbtouch_device_info usbto #ifdef CONFIG_TOUCHSCREEN_USB_NEXIO [DEVTYPE_NEXIO] = { - .rept_size = 128, + .rept_size = 1024, .irq_always = true, .read_data = nexio_read_data, .init = nexio_init,
_