public inbox for linux-input@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Input: psmouse - reset device during probe
@ 2017-06-05 20:27 Daniel Drake
  2017-06-08 19:32 ` Pali Rohár
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Drake @ 2017-06-05 20:27 UTC (permalink / raw)
  To: dmitry.torokhov; +Cc: linux-input, linux, chiu

New Acer laptops (Aspire A315-31 and several others) have an EC which
expects the PS/2 reset command to happen during boot.

On Linux, that means that currently the touchpad is unresponsive until
suspend/resume, when psmouse_reconnect() resets the device.

We observe that Windows sends a PS/2 reset command during boot.
Make Linux do the same here, making the touchpad usable on these
new products.

Signed-off-by: Daniel Drake <drake@endlessm.com>
---
 drivers/input/mouse/psmouse-base.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index f73b47b8c578..8f3c903db7b9 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1591,6 +1591,12 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv)
 	psmouse->resync_time = parent ? 0 : psmouse_resync_time;
 	psmouse->smartscroll = psmouse_smartscroll;
 
+	/* Reset the device, even though we would ordinarily expect it to
+	 * already be in the reset state. This matches Windows behaviour,
+	 * which some ECs require.
+	 */
+	psmouse_reset(psmouse);
+
 	psmouse_switch_protocol(psmouse, NULL);
 
 	if (!psmouse->protocol->smbus_companion) {
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-08 20:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-05 20:27 [PATCH] Input: psmouse - reset device during probe Daniel Drake
2017-06-08 19:32 ` Pali Rohár
2017-06-08 20:18   ` Daniel Drake
2017-06-08 20:27     ` Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox