Skip to content

Commit

Permalink
Input: usbtouchscreen - support bigger iNexio touchscreens
Browse files Browse the repository at this point in the history
Bigger Nexio touchscreens not only send more data but also the header
values are modified somewhat.  Fix the header (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 <linux@rainbow-software.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Ondrej Zary authored and Dmitry Torokhov committed May 27, 2010
1 parent 067fb2f commit 388bbca
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/input/touchscreen/usbtouchscreen.c
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,11 @@ static int nexio_read_data(struct usbtouch_usb *usbtouch, unsigned char *pkt)
if ((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);

Expand Down Expand Up @@ -1112,7 +1117,7 @@ static struct usbtouch_device_info usbtouch_dev_info[] = {

#ifdef CONFIG_TOUCHSCREEN_USB_NEXIO
[DEVTYPE_NEXIO] = {
.rept_size = 128,
.rept_size = 1024,
.irq_always = true,
.read_data = nexio_read_data,
.init = nexio_init,
Expand Down

0 comments on commit 388bbca

Please sign in to comment.