Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 388bbcad authored by Ondrej Zary's avatar Ondrej Zary Committed by Dmitry Torokhov
Browse files

Input: usbtouchscreen - support bigger iNexio touchscreens



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: default avatarOndrej Zary <linux@rainbow-software.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 067fb2f6
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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);

@@ -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,