* [PATCH v3] Input: novatek-nvt-ts - drop wake_type check
[not found] <20260121-fervent-wren-1730d5@quoll>
@ 2026-01-22 0:10 ` Gianluca Boiano
2026-01-22 0:14 ` Dmitry Torokhov
0 siblings, 1 reply; 2+ messages in thread
From: Gianluca Boiano @ 2026-01-22 0:10 UTC (permalink / raw)
To: linux-input; +Cc: hdegoede, dmitry.torokhov, Gianluca Boiano
The wake_type parameter from touchscreen registers is not used for
anything functional - the driver only validates that it matches a
hardcoded expected value per chip variant. This causes probe to fail
on touchscreens that report a different wake_type despite being
otherwise compatible.
Drop the wake_type check and the associated chip data member to allow
the existing compatibles to work with more touchscreen variants.
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
---
Changes in v3:
- Completely reworked per Hans de Goede's suggestion: instead of adding
a new compatible for the e7t variant, simply drop the wake_type check
entirely since it serves no functional purpose
- Dropped dt-bindings patch (no longer needed)
Changes in v2:
- Removed Closes: tag referencing downstream repository
drivers/input/touchscreen/novatek-nvt-ts.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/input/touchscreen/novatek-nvt-ts.c b/drivers/input/touchscreen/novatek-nvt-ts.c
index 44b58e0dc1ad..3e6e2ee0ba8f 100644
--- a/drivers/input/touchscreen/novatek-nvt-ts.c
+++ b/drivers/input/touchscreen/novatek-nvt-ts.c
@@ -27,7 +27,6 @@
#define NVT_TS_PARAMS_MAX_TOUCH 0x09
#define NVT_TS_PARAMS_MAX_BUTTONS 0x0a
#define NVT_TS_PARAMS_IRQ_TYPE 0x0b
-#define NVT_TS_PARAMS_WAKE_TYPE 0x0c
#define NVT_TS_PARAMS_CHIP_ID 0x0e
#define NVT_TS_PARAMS_SIZE 0x0f
@@ -49,7 +48,6 @@ static const int nvt_ts_irq_type[4] = {
};
struct nvt_ts_i2c_chip_data {
- u8 wake_type;
u8 chip_id;
};
@@ -261,7 +259,6 @@ static int nvt_ts_probe(struct i2c_client *client)
if (width > NVT_TS_MAX_SIZE || height >= NVT_TS_MAX_SIZE ||
data->max_touches > NVT_TS_MAX_TOUCHES ||
irq_type >= ARRAY_SIZE(nvt_ts_irq_type) ||
- data->buf[NVT_TS_PARAMS_WAKE_TYPE] != chip->wake_type ||
data->buf[NVT_TS_PARAMS_CHIP_ID] != chip->chip_id) {
dev_err(dev, "Unsupported touchscreen parameters: %*ph\n",
NVT_TS_PARAMS_SIZE, data->buf);
@@ -314,12 +311,10 @@ static int nvt_ts_probe(struct i2c_client *client)
}
static const struct nvt_ts_i2c_chip_data nvt_nt11205_ts_data = {
- .wake_type = 0x05,
.chip_id = 0x05,
};
static const struct nvt_ts_i2c_chip_data nvt_nt36672a_ts_data = {
- .wake_type = 0x01,
.chip_id = 0x08,
};
--
2.52.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v3] Input: novatek-nvt-ts - drop wake_type check
2026-01-22 0:10 ` [PATCH v3] Input: novatek-nvt-ts - drop wake_type check Gianluca Boiano
@ 2026-01-22 0:14 ` Dmitry Torokhov
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2026-01-22 0:14 UTC (permalink / raw)
To: Gianluca Boiano; +Cc: linux-input, hdegoede
On Thu, Jan 22, 2026 at 01:10:40AM +0100, Gianluca Boiano wrote:
> The wake_type parameter from touchscreen registers is not used for
> anything functional - the driver only validates that it matches a
> hardcoded expected value per chip variant. This causes probe to fail
> on touchscreens that report a different wake_type despite being
> otherwise compatible.
>
> Drop the wake_type check and the associated chip data member to allow
> the existing compatibles to work with more touchscreen variants.
>
> Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
I think this deserves "Suggested-by:" tag. I'll add it unless there are
objections...
> ---
> Changes in v3:
> - Completely reworked per Hans de Goede's suggestion: instead of adding
> a new compatible for the e7t variant, simply drop the wake_type check
> entirely since it serves no functional purpose
> - Dropped dt-bindings patch (no longer needed)
>
> Changes in v2:
> - Removed Closes: tag referencing downstream repository
>
> drivers/input/touchscreen/novatek-nvt-ts.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/drivers/input/touchscreen/novatek-nvt-ts.c b/drivers/input/touchscreen/novatek-nvt-ts.c
> index 44b58e0dc1ad..3e6e2ee0ba8f 100644
> --- a/drivers/input/touchscreen/novatek-nvt-ts.c
> +++ b/drivers/input/touchscreen/novatek-nvt-ts.c
> @@ -27,7 +27,6 @@
> #define NVT_TS_PARAMS_MAX_TOUCH 0x09
> #define NVT_TS_PARAMS_MAX_BUTTONS 0x0a
> #define NVT_TS_PARAMS_IRQ_TYPE 0x0b
> -#define NVT_TS_PARAMS_WAKE_TYPE 0x0c
> #define NVT_TS_PARAMS_CHIP_ID 0x0e
> #define NVT_TS_PARAMS_SIZE 0x0f
>
> @@ -49,7 +48,6 @@ static const int nvt_ts_irq_type[4] = {
> };
>
> struct nvt_ts_i2c_chip_data {
> - u8 wake_type;
> u8 chip_id;
> };
>
> @@ -261,7 +259,6 @@ static int nvt_ts_probe(struct i2c_client *client)
> if (width > NVT_TS_MAX_SIZE || height >= NVT_TS_MAX_SIZE ||
> data->max_touches > NVT_TS_MAX_TOUCHES ||
> irq_type >= ARRAY_SIZE(nvt_ts_irq_type) ||
> - data->buf[NVT_TS_PARAMS_WAKE_TYPE] != chip->wake_type ||
> data->buf[NVT_TS_PARAMS_CHIP_ID] != chip->chip_id) {
> dev_err(dev, "Unsupported touchscreen parameters: %*ph\n",
> NVT_TS_PARAMS_SIZE, data->buf);
> @@ -314,12 +311,10 @@ static int nvt_ts_probe(struct i2c_client *client)
> }
>
> static const struct nvt_ts_i2c_chip_data nvt_nt11205_ts_data = {
> - .wake_type = 0x05,
> .chip_id = 0x05,
> };
>
> static const struct nvt_ts_i2c_chip_data nvt_nt36672a_ts_data = {
> - .wake_type = 0x01,
> .chip_id = 0x08,
> };
>
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-22 0:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260121-fervent-wren-1730d5@quoll>
2026-01-22 0:10 ` [PATCH v3] Input: novatek-nvt-ts - drop wake_type check Gianluca Boiano
2026-01-22 0:14 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox