Re: [PATCH 1/2 v2] input: wacom_w8001 - resolution wasn't set for ABS_MT_POSITION_X/Y
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-07-19 18:41:22
On Fri, Jul 15, 2016 at 04:25:57PM -0700, Ping Cheng wrote:
Also, process error handling for input_mt_init_slots before moving forward. Signed-off-by: Ping Cheng <redacted> Signed-off-by: Peter Hutterer <redacted> --- v2: splited from PATCH] input: wacom_w8001 - cleanup 2FG touch code, as suggested by Dmitry.
Split in 2 and applied.
quoted hunk ↗ jump to hunk
--- drivers/input/touchscreen/wacom_w8001.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c index fe983e7..7e807af 100644 --- a/drivers/input/touchscreen/wacom_w8001.c +++ b/drivers/input/touchscreen/wacom_w8001.c@@ -509,13 +509,20 @@ static int w8001_setup_touch(struct w8001 *w8001, char *basename, w8001->pktlen = W8001_PKTLEN_TOUCH2FG; __set_bit(BTN_TOOL_DOUBLETAP, dev->keybit); - input_mt_init_slots(dev, 2, 0); + error = input_mt_init_slots(dev, 2, 0); + if (error) { + pr_debug("w8001: failed to initialize MT slots: %d\n", error);
Changed to dev_err().
+ return error; + } + input_set_abs_params(dev, ABS_MT_POSITION_X, 0, touch.x, 0, 0); input_set_abs_params(dev, ABS_MT_POSITION_Y, 0, touch.y, 0, 0); input_set_abs_params(dev, ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0, 0); + input_abs_set_res(dev, ABS_MT_POSITION_X, touch.panel_res); + input_abs_set_res(dev, ABS_MT_POSITION_Y, touch.panel_res); strlcat(basename, " 2FG", basename_sz); if (w8001->max_pen_x && w8001->max_pen_y) -- 1.8.3.1
-- Dmitry