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

Input: elantech - reset touchpad before configuring it

Acer VH40 has a Fn key toggling the touchpad on and off, but it's
implemented in system firmware, and the EC chip has to receive
reset command to activate this function. Also when this machine
wakes up after resume, psmouse_reset is necessary to bring the
touchpad back on.

Signed-off-by: JJ Ding <jj_ding@emc.com.tw>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

authored by

JJ Ding and committed by
Dmitry Torokhov
a67ada7a d626dad5

+4
+4
drivers/input/mouse/elantech.c
··· 1245 1245 */ 1246 1246 static int elantech_reconnect(struct psmouse *psmouse) 1247 1247 { 1248 + psmouse_reset(psmouse); 1249 + 1248 1250 if (elantech_detect(psmouse, 0)) 1249 1251 return -1; 1250 1252 ··· 1325 1323 psmouse->private = etd = kzalloc(sizeof(struct elantech_data), GFP_KERNEL); 1326 1324 if (!etd) 1327 1325 return -ENOMEM; 1326 + 1327 + psmouse_reset(psmouse); 1328 1328 1329 1329 etd->parity[0] = 1; 1330 1330 for (i = 1; i < 256; i++)