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