Add support for axis inversion / swapping using the new
touchscreen_parse_properties and touchscreen_apply_prop_to_x_y
functionality.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 drivers/input/touchscreen/pixcir_i2c_ts.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/input/touchscreen/pixcir_i2c_ts.c 
b/drivers/input/touchscreen/pixcir_i2c_ts.c
index b75ef65..e310154 100644
--- a/drivers/input/touchscreen/pixcir_i2c_ts.c
+++ b/drivers/input/touchscreen/pixcir_i2c_ts.c
@@ -41,13 +41,14 @@ struct pixcir_i2c_ts_data {
        struct gpio_desc *gpio_enable;
        struct gpio_desc *gpio_wake;
        const struct pixcir_i2c_chip_data *chip;
+       struct touchscreen_properties prop;
        int max_fingers;        /* Max fingers supported in this instance */
        bool running;
 };
 
 struct pixcir_touch {
-       int x;
-       int y;
+       s16 x;
+       s16 y;
        int id;
 };
 
@@ -100,6 +101,8 @@ static void pixcir_ts_parse(struct pixcir_i2c_ts_data 
*tsdata,
        for (i = 0; i < touch; i++) {
                report->touches[i].x = (bufptr[1] << 8) | bufptr[0];
                report->touches[i].y = (bufptr[3] << 8) | bufptr[2];
+               touchscreen_apply_prop_to_x_y(&report->touches[i].x,
+                                             &report->touches[i].y);
 
                if (chip->has_hw_ids) {
                        report->touches[i].id = bufptr[4];
@@ -515,7 +518,7 @@ static int pixcir_i2c_ts_probe(struct i2c_client *client,
        } else {
                input_set_capability(input, EV_ABS, ABS_MT_POSITION_X);
                input_set_capability(input, EV_ABS, ABS_MT_POSITION_Y);
-               touchscreen_parse_properties(input, true, NULL);
+               touchscreen_parse_properties(input, true, &tsdata->prop);
                if (!input_abs_get_max(input, ABS_MT_POSITION_X) ||
                    !input_abs_get_max(input, ABS_MT_POSITION_Y)) {
                        dev_err(dev, "Touchscreen size is not specified\n");
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to