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

Commit f46c5818 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input subsystem fixes from Dmitry Torokhov:
 "Just a couple touchpad drivers fixups"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: alps - do not reduce trackpoint speed by half
  Input: elantech - add new icbody type
  Input: elantech - fix detection of touchpads where the revision matches a known rate
parents 77493bd9 088df2cc
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1063,9 +1063,8 @@ static void alps_process_trackstick_packet_v7(struct psmouse *psmouse)
	right = (packet[1] & 0x02) >> 1;
	middle = (packet[1] & 0x04) >> 2;

	/* Divide 2 since trackpoint's speed is too fast */
	input_report_rel(dev2, REL_X, (char)x / 2);
	input_report_rel(dev2, REL_Y, -((char)y / 2));
	input_report_rel(dev2, REL_X, (char)x);
	input_report_rel(dev2, REL_Y, -((char)y));

	input_report_key(dev2, BTN_LEFT, left);
	input_report_key(dev2, BTN_RIGHT, right);
+5 −3
Original line number Diff line number Diff line
@@ -1376,10 +1376,11 @@ static bool elantech_is_signature_valid(const unsigned char *param)
		return true;

	/*
	 * Some models have a revision higher then 20. Meaning param[2] may
	 * be 10 or 20, skip the rates check for these.
	 * Some hw_version >= 4 models have a revision higher then 20. Meaning
	 * that param[2] may be 10 or 20, skip the rates check for these.
	 */
	if (param[0] == 0x46 && (param[1] & 0xef) == 0x0f && param[2] < 40)
	if ((param[0] & 0x0f) >= 0x06 && (param[1] & 0xaf) == 0x0f &&
	    param[2] < 40)
		return true;

	for (i = 0; i < ARRAY_SIZE(rates); i++)
@@ -1555,6 +1556,7 @@ static int elantech_set_properties(struct elantech_data *etd)
		case 9:
		case 10:
		case 13:
		case 14:
			etd->hw_version = 4;
			break;
		default: