Re: [PATCH v4 03/10] input: elants: remove unused axes

From: Dmitry Osipenko
Date: Sun Apr 26 2020 - 12:35:57 EST


26.04.2020 19:11, MichaÅ MirosÅaw ÐÐÑÐÑ:
> Driver only ever reports MT events and input_mt_init_slots() sets up
> emulated axes already. Clear the capabilities not generated directly
> and move MT axes setup, so they are visible by input_mt_init_slots().
>
> Signed-off-by: MichaÅ MirosÅaw <mirq-linux@xxxxxxxxxxxx>
> Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> Tested-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> v4: reword commitmsg; reorder axis setup
> ---

Legacy pointer emulation doesn't work using v4. I think it will be
better to drop this patch for now and add this hunk to the patch #4:

--- >8 ---
diff --git a/drivers/input/touchscreen/elants_i2c.c
b/drivers/input/touchscreen/elants_i2c.c
index 060c60c04f25..3644b5b48081 100644
--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -1414,6 +1414,8 @@ static int elants_i2c_probe(struct i2c_client *client,
input_abs_set_res(ts->input, ABS_X, ts->x_res);
input_abs_set_res(ts->input, ABS_Y, ts->y_res);

+ touchscreen_parse_properties(ts->input, false, &ts->prop);
+
/* Multitouch input params setup */
error = input_mt_init_slots(ts->input, MAX_CONTACT_NUM,
INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED);
--- >8 ---

This hunk makes the DT properties to be applied for the legacy pointer,
fixing the cursor position on Nexus 7 device using Ubuntu 12.04. The MT
still works fine using Ubuntu 20.04.

Maybe input_mt_init_slots() could be changed to set up all the
properties that are needed for the legacy pointer, but I'm not 100% sure
because not very familiar with that code. Perhaps Dmitry Torokhov could
clarify?