* [PATCH] reset quirk at reconnect for Synaptics touchpads
@ 2010-04-23 0:52 Christoph Fritz
0 siblings, 0 replies; only message in thread
From: Christoph Fritz @ 2010-04-23 0:52 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: Peter M. Petrakis, linux-input, rubini
If a Synaptics touchpad can't be initialized (synaptics_init) and falls
back to PS/2, it doesn't get a psmouse_reset() after resuming from
suspend as it would get with a synaptics driver.
So check state of synaptics_hardware and reset this beast.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
drivers/input/mouse/psmouse-base.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index d8c0c8d..66ce0ac 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -116,6 +116,9 @@ struct psmouse_protocol {
int (*init)(struct psmouse *);
};
+/* to handle some reset quirks */
+static bool synaptics_hardware = false;
+
/*
* psmouse_process_byte() analyzes the PS/2 data stream and reports
* relevant events to the input module once full packet has arrived.
@@ -597,7 +600,6 @@ static int cortron_detect(struct psmouse *psmouse, bool set_properties)
static int psmouse_extensions(struct psmouse *psmouse,
unsigned int max_proto, bool set_properties)
{
- bool synaptics_hardware = false;
/*
* We always check for lifebook because it does not disturb mouse
@@ -1401,10 +1403,14 @@ static int psmouse_reconnect(struct serio *serio)
if (psmouse->reconnect) {
if (psmouse->reconnect(psmouse))
goto out;
- } else if (psmouse_probe(psmouse) < 0 ||
+ } else {
+ if (synaptics_hardware) /* is using plain PS/2 */
+ psmouse_reset(psmouse);
+ if (psmouse_probe(psmouse) < 0 ||
psmouse->type != psmouse_extensions(psmouse,
psmouse_max_proto, false)) {
- goto out;
+ goto out;
+ }
}
/* ok, the device type (and capabilities) match the old one,
--
1.5.6.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-04-23 0:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-23 0:52 [PATCH] reset quirk at reconnect for Synaptics touchpads Christoph Fritz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.