Commit b1f6b5a0 authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: if Synaptics' absolute mode is disabled make sure that

       touchpad is reset back to relative mode and gestures
       (taps) are enabled
parent 654b7d2a
...@@ -389,6 +389,10 @@ static int psmouse_extensions(struct psmouse *psmouse) ...@@ -389,6 +389,10 @@ static int psmouse_extensions(struct psmouse *psmouse)
*/ */
psmouse_max_proto = PSMOUSE_IMEX; psmouse_max_proto = PSMOUSE_IMEX;
} }
/*
* Make sure that touchpad is in relative mode, gestures (taps) are enabled
*/
synaptics_reset(psmouse);
} }
if (psmouse_max_proto > PSMOUSE_IMEX && genius_detect(psmouse)) { if (psmouse_max_proto > PSMOUSE_IMEX && genius_detect(psmouse)) {
......
...@@ -357,9 +357,15 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv) ...@@ -357,9 +357,15 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv)
clear_bit(REL_Y, dev->relbit); clear_bit(REL_Y, dev->relbit);
} }
static void synaptics_disconnect(struct psmouse *psmouse) void synaptics_reset(struct psmouse *psmouse)
{ {
/* reset touchpad back to relative mode, gestures enabled */
synaptics_mode_cmd(psmouse, 0); synaptics_mode_cmd(psmouse, 0);
}
static void synaptics_disconnect(struct psmouse *psmouse)
{
synaptics_reset(psmouse);
kfree(psmouse->private); kfree(psmouse->private);
} }
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
extern void synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs); extern void synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs);
extern int synaptics_detect(struct psmouse *psmouse); extern int synaptics_detect(struct psmouse *psmouse);
extern int synaptics_init(struct psmouse *psmouse); extern int synaptics_init(struct psmouse *psmouse);
extern void synaptics_reset(struct psmouse *psmouse);
/* synaptics queries */ /* synaptics queries */
#define SYN_QUE_IDENTIFY 0x00 #define SYN_QUE_IDENTIFY 0x00
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment