Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: novatek-nvt-ts - drop wake_type check

The wake_type parameter from touchscreen registers is not used for
anything functional - the driver only validates that it matches a
hard-coded 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>
Suggested-by: Hans de Goede <hansg@kernel.org>
Link: https://patch.msgid.link/20260122001040.76869-1-morf3089@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Gianluca Boiano and committed by
Dmitry Torokhov
7ff57459 a53a6dd6

-5
-5
drivers/input/touchscreen/novatek-nvt-ts.c
··· 27 27 #define NVT_TS_PARAMS_MAX_TOUCH 0x09 28 28 #define NVT_TS_PARAMS_MAX_BUTTONS 0x0a 29 29 #define NVT_TS_PARAMS_IRQ_TYPE 0x0b 30 - #define NVT_TS_PARAMS_WAKE_TYPE 0x0c 31 30 #define NVT_TS_PARAMS_CHIP_ID 0x0e 32 31 #define NVT_TS_PARAMS_SIZE 0x0f 33 32 ··· 48 49 }; 49 50 50 51 struct nvt_ts_i2c_chip_data { 51 - u8 wake_type; 52 52 u8 chip_id; 53 53 }; 54 54 ··· 259 261 if (width > NVT_TS_MAX_SIZE || height >= NVT_TS_MAX_SIZE || 260 262 data->max_touches > NVT_TS_MAX_TOUCHES || 261 263 irq_type >= ARRAY_SIZE(nvt_ts_irq_type) || 262 - data->buf[NVT_TS_PARAMS_WAKE_TYPE] != chip->wake_type || 263 264 data->buf[NVT_TS_PARAMS_CHIP_ID] != chip->chip_id) { 264 265 dev_err(dev, "Unsupported touchscreen parameters: %*ph\n", 265 266 NVT_TS_PARAMS_SIZE, data->buf); ··· 311 314 } 312 315 313 316 static const struct nvt_ts_i2c_chip_data nvt_nt11205_ts_data = { 314 - .wake_type = 0x05, 315 317 .chip_id = 0x05, 316 318 }; 317 319 318 320 static const struct nvt_ts_i2c_chip_data nvt_nt36672a_ts_data = { 319 - .wake_type = 0x01, 320 321 .chip_id = 0x08, 321 322 }; 322 323