From: Andreas Kemnade <andreas@kemnade.info> To: Alistair Francis <alistair@alistair23.me> Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-input@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, alistair23@gmail.com, dmitry.torokhov@gmail.com, linus.walleij@linaro.org, rydberg@bitmath.org, "Mylène Josserand" <mylene.josserand@bootlin.com>, "Maxime Ripard" <maxime.ripard@bootlin.com> Subject: Re: [PATCH v3 1/4] Input: Add driver for Cypress Generation 5 touchscreen Date: Sat, 4 Dec 2021 23:32:33 +0100 [thread overview] Message-ID: <20211204233233.6c55875c@aktux> (raw) In-Reply-To: <20211202122021.43124-2-alistair@alistair23.me> Hi, On Thu, 2 Dec 2021 22:20:18 +1000 Alistair Francis <alistair@alistair23.me> wrote: > From: Mylène Josserand <mylene.josserand@bootlin.com> > > This is the basic driver for the Cypress TrueTouch Gen5 touchscreen > controllers. This driver supports only the I2C bus but it uses regmap > so SPI support could be added later. > The touchscreen can retrieve some defined zone that are handled as > buttons (according to the hardware). That is why it handles > button and multitouch events. > > Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> > Signed-off-by: Mylène Josserand <mylene.josserand@bootlin.com> > Message-Id: <20180703094309.18514-2-mylene.josserand@bootlin.com> > Signed-off-by: Alistair Francis <alistair@alistair23.me> I finally got it working. The order of initialisation is important. Params are copied on input_mt_init_slots() from ABS_MT* to ABS_*, so you have to set params first. Here is the patch i need on top of this one to make it actually work with X (evdev and libinput is tested): diff --git a/drivers/input/touchscreen/cyttsp5.c b/drivers/input/touchscreen/cyttsp5.c index b5d96eb71e46..3894ec85a732 100644 --- a/drivers/input/touchscreen/cyttsp5.c +++ b/drivers/input/touchscreen/cyttsp5.c @@ -415,19 +415,12 @@ static int cyttsp5_setup_input_device(struct device *dev) int max_x_tmp, max_y_tmp; int error; - __set_bit(EV_REL, ts->input->evbit); - max_x_tmp = si->sensing_conf_data.res_x; max_y_tmp = si->sensing_conf_data.res_y; max_x = max_x_tmp - 1; max_y = max_y_tmp - 1; max_p = si->sensing_conf_data.max_z; - error = input_mt_init_slots(ts->input, si->tch_abs[CY_TCH_T].max, - INPUT_MT_DROP_UNUSED | INPUT_MT_POINTER); - if (error < 0) - return error; - input_set_abs_params(ts->input, ABS_MT_POSITION_X, 0, max_x, 0, 0); input_set_abs_params(ts->input, ABS_MT_POSITION_Y, 0, max_y, 0, 0); input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, max_p, 0, 0); @@ -435,6 +428,11 @@ static int cyttsp5_setup_input_device(struct device *dev) input_set_abs_params(ts->input, ABS_MT_TOUCH_MAJOR, 0, MAX_AREA, 0, 0); input_set_abs_params(ts->input, ABS_MT_TOUCH_MINOR, 0, MAX_AREA, 0, 0); + error = input_mt_init_slots(ts->input, si->tch_abs[CY_TCH_T].max, + INPUT_MT_DROP_UNUSED | INPUT_MT_DIRECT); + if (error < 0) + return error; + error = input_register_device(ts->input); if (error < 0) dev_err(dev, "Error, failed register input device r=%d\n", error);
WARNING: multiple messages have this Message-ID (diff)
From: Andreas Kemnade <andreas@kemnade.info> To: Alistair Francis <alistair@alistair23.me> Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-input@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, alistair23@gmail.com, dmitry.torokhov@gmail.com, linus.walleij@linaro.org, rydberg@bitmath.org, "Mylène Josserand" <mylene.josserand@bootlin.com>, "Maxime Ripard" <maxime.ripard@bootlin.com> Subject: Re: [PATCH v3 1/4] Input: Add driver for Cypress Generation 5 touchscreen Date: Sat, 4 Dec 2021 23:32:33 +0100 [thread overview] Message-ID: <20211204233233.6c55875c@aktux> (raw) In-Reply-To: <20211202122021.43124-2-alistair@alistair23.me> Hi, On Thu, 2 Dec 2021 22:20:18 +1000 Alistair Francis <alistair@alistair23.me> wrote: > From: Mylène Josserand <mylene.josserand@bootlin.com> > > This is the basic driver for the Cypress TrueTouch Gen5 touchscreen > controllers. This driver supports only the I2C bus but it uses regmap > so SPI support could be added later. > The touchscreen can retrieve some defined zone that are handled as > buttons (according to the hardware). That is why it handles > button and multitouch events. > > Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> > Signed-off-by: Mylène Josserand <mylene.josserand@bootlin.com> > Message-Id: <20180703094309.18514-2-mylene.josserand@bootlin.com> > Signed-off-by: Alistair Francis <alistair@alistair23.me> I finally got it working. The order of initialisation is important. Params are copied on input_mt_init_slots() from ABS_MT* to ABS_*, so you have to set params first. Here is the patch i need on top of this one to make it actually work with X (evdev and libinput is tested): diff --git a/drivers/input/touchscreen/cyttsp5.c b/drivers/input/touchscreen/cyttsp5.c index b5d96eb71e46..3894ec85a732 100644 --- a/drivers/input/touchscreen/cyttsp5.c +++ b/drivers/input/touchscreen/cyttsp5.c @@ -415,19 +415,12 @@ static int cyttsp5_setup_input_device(struct device *dev) int max_x_tmp, max_y_tmp; int error; - __set_bit(EV_REL, ts->input->evbit); - max_x_tmp = si->sensing_conf_data.res_x; max_y_tmp = si->sensing_conf_data.res_y; max_x = max_x_tmp - 1; max_y = max_y_tmp - 1; max_p = si->sensing_conf_data.max_z; - error = input_mt_init_slots(ts->input, si->tch_abs[CY_TCH_T].max, - INPUT_MT_DROP_UNUSED | INPUT_MT_POINTER); - if (error < 0) - return error; - input_set_abs_params(ts->input, ABS_MT_POSITION_X, 0, max_x, 0, 0); input_set_abs_params(ts->input, ABS_MT_POSITION_Y, 0, max_y, 0, 0); input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, max_p, 0, 0); @@ -435,6 +428,11 @@ static int cyttsp5_setup_input_device(struct device *dev) input_set_abs_params(ts->input, ABS_MT_TOUCH_MAJOR, 0, MAX_AREA, 0, 0); input_set_abs_params(ts->input, ABS_MT_TOUCH_MINOR, 0, MAX_AREA, 0, 0); + error = input_mt_init_slots(ts->input, si->tch_abs[CY_TCH_T].max, + INPUT_MT_DROP_UNUSED | INPUT_MT_DIRECT); + if (error < 0) + return error; + error = input_register_device(ts->input); if (error < 0) dev_err(dev, "Error, failed register input device r=%d\n", error); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-04 22:32 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-02 12:20 [PATCH v3 0/4] Add support for the Cypress cyttsp5 Alistair Francis 2021-12-02 12:20 ` Alistair Francis 2021-12-02 12:20 ` [PATCH v3 1/4] Input: Add driver for Cypress Generation 5 touchscreen Alistair Francis 2021-12-02 12:20 ` Alistair Francis 2021-12-04 19:46 ` Andreas Kemnade 2021-12-04 19:46 ` Andreas Kemnade 2021-12-04 22:32 ` Andreas Kemnade [this message] 2021-12-04 22:32 ` Andreas Kemnade 2021-12-06 10:46 ` Alistair Francis 2021-12-06 10:46 ` Alistair Francis 2021-12-07 7:06 ` Dmitry Torokhov 2021-12-07 7:06 ` Dmitry Torokhov 2021-12-06 23:47 ` kernel test robot 2021-12-06 23:47 ` kernel test robot 2021-12-06 23:47 ` kernel test robot 2021-12-13 5:58 ` Dmitry Torokhov 2021-12-13 5:58 ` Dmitry Torokhov 2021-12-23 13:49 ` Andy Shevchenko 2021-12-23 13:49 ` Andy Shevchenko 2021-12-02 12:20 ` [PATCH v3 2/4] Documentation: DT: bindings: input: Add documentation for cyttsp5 Alistair Francis 2021-12-02 12:20 ` Alistair Francis 2021-12-02 13:58 ` Rob Herring 2021-12-02 13:58 ` Rob Herring 2021-12-06 20:52 ` Rob Herring 2021-12-06 20:52 ` Rob Herring 2021-12-02 12:20 ` [PATCH v3 3/4] ARM: imx_v6_v7_defconfig: Enable the cyttsp5 touchscreen Alistair Francis 2021-12-02 12:20 ` Alistair Francis 2021-12-02 12:20 ` [PATCH v3 4/4] ARM: dts: imx7d: remarkable2: Enable the cyttsp5 Alistair Francis 2021-12-02 12:20 ` Alistair Francis
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211204233233.6c55875c@aktux \ --to=andreas@kemnade.info \ --cc=alistair23@gmail.com \ --cc=alistair@alistair23.me \ --cc=devicetree@vger.kernel.org \ --cc=dmitry.torokhov@gmail.com \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-input@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=maxime.ripard@bootlin.com \ --cc=mylene.josserand@bootlin.com \ --cc=robh+dt@kernel.org \ --cc=rydberg@bitmath.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.