]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: tsc2007 - accept standard properties
authorAndreas Kemnade <andreas@kemnade.info>
Thu, 5 Dec 2024 20:44:12 +0000 (21:44 +0100)
committerKevin Hilman <khilman@baylibre.com>
Wed, 11 Dec 2024 00:17:30 +0000 (16:17 -0800)
Only some driver-specific properties were accepted, change it
to use the now-available standard properties which are
found in devicetrees containing this chip.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20241205204413.2466775-2-akemnade@kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
drivers/input/touchscreen/tsc2007.h
drivers/input/touchscreen/tsc2007_core.c

index 69b08dd6c8df17230111993ff4e486c79c79590f..e346fb4f7552125c7d3b27171b42880dfa33a94b 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef _TSC2007_H
 #define _TSC2007_H
 
+#include <linux/input/touchscreen.h>
 struct gpio_desc;
 
 #define TSC2007_MEASURE_TEMP0          (0x0 << 4)
@@ -63,6 +64,7 @@ struct tsc2007 {
 
        struct i2c_client       *client;
 
+       struct touchscreen_properties prop;
        u16                     model;
        u16                     x_plate_ohms;
        u16                     max_rt;
index 8d832a372b897ebb4ec875b4fccc0e25ec72cb8d..5252301686ec63fb9307cb580585940536378451 100644 (file)
@@ -142,8 +142,7 @@ static irqreturn_t tsc2007_soft_irq(int irq, void *handle)
                        rt = ts->max_rt - rt;
 
                        input_report_key(input, BTN_TOUCH, 1);
-                       input_report_abs(input, ABS_X, tc.x);
-                       input_report_abs(input, ABS_Y, tc.y);
+                       touchscreen_report_pos(input, &ts->prop, tc.x, tc.y, false);
                        input_report_abs(input, ABS_PRESSURE, rt);
 
                        input_sync(input);
@@ -339,9 +338,9 @@ static int tsc2007_probe(struct i2c_client *client)
        input_set_drvdata(input_dev, ts);
 
        input_set_capability(input_dev, EV_KEY, BTN_TOUCH);
-
        input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, ts->fuzzx, 0);
        input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, ts->fuzzy, 0);
+       touchscreen_parse_properties(input_dev, false, &ts->prop);
        input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT,
                             ts->fuzzz, 0);