* [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