Re: [PATCH v4 04/10] Input: wacom_i2c - Add touchscren properties

From: Dmitry Torokhov
Date: Mon Mar 29 2021 - 15:09:41 EST


On Thu, Mar 25, 2021 at 09:52:24PM -0400, Alistair Francis wrote:
> Connect touchscreen properties to the wacom_i2c.
>
> Signed-off-by: Alistair Francis <alistair@xxxxxxxxxxxxx>
> ---
> v4:
> - Add touchscreen_report_pos() as well
>
> drivers/input/touchscreen/wacom_i2c.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/input/touchscreen/wacom_i2c.c b/drivers/input/touchscreen/wacom_i2c.c
> index eada68770671..ee1829dd35f4 100644
> --- a/drivers/input/touchscreen/wacom_i2c.c
> +++ b/drivers/input/touchscreen/wacom_i2c.c
> @@ -11,6 +11,7 @@
> #include <linux/i2c.h>
> #include <linux/slab.h>
> #include <linux/irq.h>
> +#include <linux/input/touchscreen.h>
> #include <linux/interrupt.h>
> #include <linux/of.h>
> #include <asm/unaligned.h>
> @@ -33,6 +34,7 @@ struct wacom_features {
> struct wacom_i2c {
> struct i2c_client *client;
> struct input_dev *input;
> + struct touchscreen_properties props;
> u8 data[WACOM_QUERY_SIZE];
> bool prox;
> int tool;
> @@ -188,6 +190,9 @@ static int wacom_i2c_probe(struct i2c_client *client,
> __set_bit(BTN_STYLUS2, input->keybit);
> __set_bit(BTN_TOUCH, input->keybit);
>
> + touchscreen_parse_properties(input, true, &wac_i2c->props);
> + touchscreen_report_pos(input, &wac_i2c->props, features.x_max,
> + features.y_max, true);

??? This goes into wacom_i2c_irq() where it previously used
input_report_abs() for X and Y so that transformations (swap, mirrot)
requested via device properties are applied to the coordinates.

Thanks.

--
Dmitry