Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 936452 Details for
Bug 1110011
ASUS X550 Touchpad not working and interferes with mouse
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
[PATCH 3/3] psmouse: Add support for detecting FocalTech PS/2 touchpads
0003-psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch (text/plain), 4.96 KB, created by
Hans de Goede
on 2014-09-11 08:55:56 UTC
(
hide
)
Description:
[PATCH 3/3] psmouse: Add support for detecting FocalTech PS/2 touchpads
Filename:
MIME Type:
Creator:
Hans de Goede
Created:
2014-09-11 08:55:56 UTC
Size:
4.96 KB
patch
obsolete
>From 86859b1ed3b61f80cca673be3f0fdb6e2f42730c Mon Sep 17 00:00:00 2001 >From: Hans de Goede <hdegoede@redhat.com> >Date: Fri, 27 Jun 2014 18:50:33 +0200 >Subject: [PATCH 3/3] psmouse: Add support for detecting FocalTech PS/2 > touchpads > >The Asus X450 and X550 laptops use a PS/2 touchpad from a new manufacturer >called FocalTech: > >https://bugzilla.kernel.org/show_bug.cgi?id=77391 >https://bugzilla.redhat.com/show_bug.cgi?id=1110011 > >The protocol for these devices is not known at this time, but even without >knowing the protocol they need some special handling. They get upset by some >of our other PS/2 device probing, and once upset generate random mouse events >making things unusable even with an external mouse. > >This patch adds detection of these devices based on their pnp ids, and when >they are detected, treats them as a bare ps/2 mouse. Doing things this way >they at least work in their ps/2 mouse emulation mode. > >Signed-off-by: Hans de Goede <hdegoede@redhat.com> >--- > drivers/input/mouse/Makefile | 2 +- > drivers/input/mouse/focaltech.c | 44 ++++++++++++++++++++++++++++++++++++++ > drivers/input/mouse/focaltech.h | 21 ++++++++++++++++++ > drivers/input/mouse/psmouse-base.c | 10 +++++++++ > 4 files changed, 76 insertions(+), 1 deletion(-) > create mode 100644 drivers/input/mouse/focaltech.c > create mode 100644 drivers/input/mouse/focaltech.h > >diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile >index c25efdb..dda507f 100644 >--- a/drivers/input/mouse/Makefile >+++ b/drivers/input/mouse/Makefile >@@ -23,7 +23,7 @@ obj-$(CONFIG_MOUSE_SYNAPTICS_I2C) += synaptics_i2c.o > obj-$(CONFIG_MOUSE_SYNAPTICS_USB) += synaptics_usb.o > obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o > >-psmouse-objs := psmouse-base.o synaptics.o >+psmouse-objs := psmouse-base.o synaptics.o focaltech.o > > psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o > psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o >diff --git a/drivers/input/mouse/focaltech.c b/drivers/input/mouse/focaltech.c >new file mode 100644 >index 0000000..d83a235 >--- /dev/null >+++ b/drivers/input/mouse/focaltech.c >@@ -0,0 +1,44 @@ >+/* >+ * Focaltech TouchPad PS/2 mouse driver >+ * >+ * Copyright (c) 2014 Red Hat Inc. >+ * >+ * This program is free software; you can redistribute it and/or modify >+ * it under the terms of the GNU General Public License as published by >+ * the Free Software Foundation; either version 2 of the License, or >+ * (at your option) any later version. >+ * >+ * Red Hat authors: >+ * >+ * Hans de Goede <hdegoede@redhat.com> >+ */ >+ >+/* >+ * The Focaltech PS/2 touchpad protocol is unknown. This drivers deals with >+ * detection only, to avoid further detection attempts confusing the touchpad >+ * this way it at least works in PS/2 mouse compatibility mode. >+ */ >+ >+#include <linux/device.h> >+#include <linux/libps2.h> >+#include "psmouse.h" >+ >+static const char * const focaltech_pnp_ids[] = { >+ "FLT0101", >+ "FLT0102", >+ "FLT0103", >+ NULL >+}; >+ >+int focaltech_detect(struct psmouse *psmouse, bool set_properties) >+{ >+ if (!psmouse_matches_pnp_id(psmouse, focaltech_pnp_ids)) >+ return -ENODEV; >+ >+ if (set_properties) { >+ psmouse->vendor = "FocalTech"; >+ psmouse->name = "FocalTech Touchpad in mouse emulation mode"; >+ } >+ >+ return 0; >+} >diff --git a/drivers/input/mouse/focaltech.h b/drivers/input/mouse/focaltech.h >new file mode 100644 >index 0000000..0d0fc49 >--- /dev/null >+++ b/drivers/input/mouse/focaltech.h >@@ -0,0 +1,21 @@ >+/* >+ * Focaltech TouchPad PS/2 mouse driver >+ * >+ * Copyright (c) 2014 Red Hat Inc. >+ * >+ * This program is free software; you can redistribute it and/or modify >+ * it under the terms of the GNU General Public License as published by >+ * the Free Software Foundation; either version 2 of the License, or >+ * (at your option) any later version. >+ * >+ * Red Hat authors: >+ * >+ * Hans de Goede <hdegoede@redhat.com> >+ */ >+ >+#ifndef _FOCALTECH_H >+#define _FOCALTECH_H >+ >+int focaltech_detect(struct psmouse *psmouse, bool set_properties); >+ >+#endif >diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c >index 02e68c3..2c8c8e2 100644 >--- a/drivers/input/mouse/psmouse-base.c >+++ b/drivers/input/mouse/psmouse-base.c >@@ -35,6 +35,7 @@ > #include "elantech.h" > #include "sentelic.h" > #include "cypress_ps2.h" >+#include "focaltech.h" > > #define DRIVER_DESC "PS/2 mouse driver" > >@@ -722,6 +723,13 @@ static int psmouse_extensions(struct psmouse *psmouse, > { > bool synaptics_hardware = false; > >+/* Always check for focaltech, this is safe as it uses pnp-id matching */ >+ if (psmouse_do_detect(focaltech_detect, psmouse, set_properties) == 0) { >+ /* Not supported yet, use bare protocol */ >+ psmouse_max_proto = max_proto = PSMOUSE_PS2; >+ goto reset_to_defaults; >+ } >+ > /* > * We always check for lifebook because it does not disturb mouse > * (it only checks DMI information). >@@ -873,6 +881,8 @@ static int psmouse_extensions(struct psmouse *psmouse, > } > } > >+reset_to_defaults: >+ > /* > * Reset to defaults in case the device got confused by extended > * protocol probes. Note that we follow up with full reset because >-- >2.1.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1110011
:
909256
|
910487
|
911004
|
911302
|
912515
|
912895
|
913906
|
914298
|
918211
|
918212
|
935276
|
936265
|
936449
|
936450
| 936452 |
936719
|
936721
|
940521
|
940523
|
940594
|
940595
|
940596
|
940606
|
940607
|
940727
|
940751
|
944389
|
953046
|
956262
|
995746
|
995763
|
1007865
|
1007880
|
1007881
|
1008039