Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input layer fixes from Dmitry Torokhov:
"The main change is to fix breakage in Elantech driver introduced by
the recent commit adding trackpoint reporting to protocol v4. Now we
are trusting the hardware to advertise the trackpoint properly and do
not try to decode the data as trackpoint if firmware told us it is not
present"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: xpad - use proper endpoint type
Input: elantech - trust firmware about trackpoint presence
Input: synaptics - adjust min/max on Thinkpad E540

+18 -12
+13 -3
drivers/input/joystick/xpad.c
··· 1179 1179 } 1180 1180 1181 1181 ep_irq_in = &intf->cur_altsetting->endpoint[1].desc; 1182 - usb_fill_bulk_urb(xpad->bulk_out, udev, 1183 - usb_sndbulkpipe(udev, ep_irq_in->bEndpointAddress), 1184 - xpad->bdata, XPAD_PKT_LEN, xpad_bulk_out, xpad); 1182 + if (usb_endpoint_is_bulk_out(ep_irq_in)) { 1183 + usb_fill_bulk_urb(xpad->bulk_out, udev, 1184 + usb_sndbulkpipe(udev, 1185 + ep_irq_in->bEndpointAddress), 1186 + xpad->bdata, XPAD_PKT_LEN, 1187 + xpad_bulk_out, xpad); 1188 + } else { 1189 + usb_fill_int_urb(xpad->bulk_out, udev, 1190 + usb_sndintpipe(udev, 1191 + ep_irq_in->bEndpointAddress), 1192 + xpad->bdata, XPAD_PKT_LEN, 1193 + xpad_bulk_out, xpad, 0); 1194 + } 1185 1195 1186 1196 /* 1187 1197 * Submit the int URB immediately rather than waiting for open
+1 -9
drivers/input/mouse/elantech.c
··· 428 428 int x, y; 429 429 u32 t; 430 430 431 - if (dev_WARN_ONCE(&psmouse->ps2dev.serio->dev, 432 - !tp_dev, 433 - psmouse_fmt("Unexpected trackpoint message\n"))) { 434 - if (etd->debug == 1) 435 - elantech_packet_dump(psmouse); 436 - return; 437 - } 438 - 439 431 t = get_unaligned_le32(&packet[0]); 440 432 441 433 switch (t & ~7U) { ··· 785 793 unsigned char packet_type = packet[3] & 0x03; 786 794 bool sanity_check; 787 795 788 - if ((packet[3] & 0x0f) == 0x06) 796 + if (etd->tp_dev && (packet[3] & 0x0f) == 0x06) 789 797 return PACKET_TRACKPOINT; 790 798 791 799 /*
+4
drivers/input/mouse/synaptics.c
··· 143 143 (const char * const []){"LEN2001", NULL}, 144 144 1024, 5022, 2508, 4832 145 145 }, 146 + { 147 + (const char * const []){"LEN2006", NULL}, 148 + 1264, 5675, 1171, 4688 149 + }, 146 150 { } 147 151 }; 148 152