Thread (7 messages) flat view 7 messages, 2 authors, 2014-11-06

Re: [PATCH 2/3] input: touchscreen: of: Register multitouch axes

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2014-11-05 17:56:44
Also in: lkml

On Wed, Nov 05, 2014 at 04:07:49PM +0100, Maxime Ripard wrote:
quoted hunk ↗ jump to hunk
So far, the DT parsing code was only setting up the regular input axes,
completely ignoring their multitouch counter parts.

Fill them with the same parameters than the regular axes.

Signed-off-by: Maxime Ripard <redacted>
---
 drivers/input/touchscreen/of_touchscreen.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/input/touchscreen/of_touchscreen.c b/drivers/input/touchscreen/of_touchscreen.c
index 74d6b0eb50ac..cf2a753edd96 100644
--- a/drivers/input/touchscreen/of_touchscreen.c
+++ b/drivers/input/touchscreen/of_touchscreen.c
@@ -42,17 +42,23 @@ void touchscreen_parse_of_params(struct input_dev *dev)
 
 	maximum = of_get_optional_u32(np, "touchscreen-size-x");
 	fuzz = of_get_optional_u32(np, "touchscreen-fuzz-x");
-	if (maximum || fuzz)
+	if (maximum || fuzz) {
 		input_set_abs_params(dev, ABS_X, 0, maximum, fuzz, 0);
+		input_set_abs_params(dev, ABS_MT_POSITION_X, 0, maximum, fuzz, 0);
Not all devices are multitouch so you shoudl not be setting multitouch
bits unconditionally.

In I think we should rely on driver to set capability bits properly and
then here test them and apply the readings. Probably also issue a
warning if we see max/fuzz setting but neither ABS_<N>/ABS_MT_<N>
capabilities.

Thanks.
+	}
 
 	maximum = of_get_optional_u32(np, "touchscreen-size-y");
 	fuzz = of_get_optional_u32(np, "touchscreen-fuzz-y");
-	if (maximum || fuzz)
+	if (maximum || fuzz) {
 		input_set_abs_params(dev, ABS_Y, 0, maximum, fuzz, 0);
+		input_set_abs_params(dev, ABS_MT_POSITION_Y, 0, maximum, fuzz, 0);
+	}
 
 	maximum = of_get_optional_u32(np, "touchscreen-max-pressure");
 	fuzz = of_get_optional_u32(np, "touchscreen-fuzz-pressure");
-	if (maximum || fuzz)
+	if (maximum || fuzz) {
 		input_set_abs_params(dev, ABS_PRESSURE, 0, maximum, fuzz, 0);
+		input_set_abs_params(dev, ABS_MT_PRESSURE, 0, maximum, fuzz, 0);
+	}
 }
 EXPORT_SYMBOL(touchscreen_parse_of_params);
-- 
2.1.1
-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help