aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse/focaltech.c
diff options
context:
space:
mode:
authorMathias Gottschlag <mgottschlag@gmail.com>2015-03-07 13:32:10 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-03-07 13:40:21 -0800
commit4ec212f003d2430b0b2748b8a3008255f39cfe13 (patch)
tree1077e083925422e0b7a05a5f309f2e8cf0930fa6 /drivers/input/mouse/focaltech.c
parentInput: psmouse - ensure that focaltech reports consistent coordinates (diff)
downloadlinux-dev-4ec212f003d2430b0b2748b8a3008255f39cfe13.tar.xz
linux-dev-4ec212f003d2430b0b2748b8a3008255f39cfe13.zip
Input: psmouse - disable changing resolution/rate/scale for FocalTech
These PS/2 commands make some touchpads stop responding, so this commit adds some dummy functions to replace the generic implementation. Because scale changes were not encapsulated in a method of struct psmouse yet, this commit adds a method set_scale to psmouse. Signed-off-by: Mathias Gottschlag <mgottschlag@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/focaltech.c')
-rw-r--r--drivers/input/mouse/focaltech.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/input/mouse/focaltech.c b/drivers/input/mouse/focaltech.c
index c66e0e04bb7e..891a2716d6a0 100644
--- a/drivers/input/mouse/focaltech.c
+++ b/drivers/input/mouse/focaltech.c
@@ -386,6 +386,23 @@ static int focaltech_read_size(struct psmouse *psmouse)
return 0;
}
+
+void focaltech_set_resolution(struct psmouse *psmouse, unsigned int resolution)
+{
+ /* not supported yet */
+}
+
+static void focaltech_set_rate(struct psmouse *psmouse, unsigned int rate)
+{
+ /* not supported yet */
+}
+
+static void focaltech_set_scale(struct psmouse *psmouse,
+ enum psmouse_scale scale)
+{
+ /* not supported yet */
+}
+
int focaltech_init(struct psmouse *psmouse)
{
struct focaltech_data *priv;
@@ -420,6 +437,14 @@ int focaltech_init(struct psmouse *psmouse)
psmouse->cleanup = focaltech_reset;
/* resync is not supported yet */
psmouse->resync_time = 0;
+ /*
+ * rate/resolution/scale changes are not supported yet, and
+ * the generic implementations of these functions seem to
+ * confuse some touchpads
+ */
+ psmouse->set_resolution = focaltech_set_resolution;
+ psmouse->set_rate = focaltech_set_rate;
+ psmouse->set_scale = focaltech_set_scale;
return 0;