]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Input: ads7846 - don't report pressure for ads7845
authorLuca Ellero <l.ellero@asem.it>
Thu, 26 Jan 2023 10:52:25 +0000 (11:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 15:26:40 +0000 (16:26 +0100)
[ Upstream commit d50584d783313c8b05b84d0b07a2142f1bde46dd ]

ADS7845 doesn't support pressure.
Avoid the following error reported by libinput-list-devices:
"ADS7845 Touchscreen: kernel bug: device has min == max on ABS_PRESSURE".

Fixes: ffa458c1bd9b ("spi: ads7846 driver")
Signed-off-by: Luca Ellero <l.ellero@asem.it>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230126105227.47648-2-l.ellero@asem.it
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/touchscreen/ads7846.c

index b536768234b7c096ee73004cb63553bfaf2e6af1..491cc7efecf9eabbebfbfc3ea2ba4eadc161632b 100644 (file)
@@ -1374,8 +1374,9 @@ static int ads7846_probe(struct spi_device *spi)
                        pdata->y_min ? : 0,
                        pdata->y_max ? : MAX_12BIT,
                        0, 0);
-       input_set_abs_params(input_dev, ABS_PRESSURE,
-                       pdata->pressure_min, pdata->pressure_max, 0, 0);
+       if (ts->model != 7845)
+               input_set_abs_params(input_dev, ABS_PRESSURE,
+                               pdata->pressure_min, pdata->pressure_max, 0, 0);
 
        ads7846_setup_spi_msg(ts, pdata);