Input: of_touchscreen - switch to using device properties
[firefly-linux-kernel-4.4.55.git] / drivers / input / touchscreen / edt-ft5x06.c
index d4c24fb7704f5e2d87f299ac01e2aa2ba5866521..8f8f3199be394dfb5d19c0d64de76b9019e94eeb 100644 (file)
@@ -37,6 +37,7 @@
 #include <linux/gpio.h>
 #include <linux/of_gpio.h>
 #include <linux/input/mt.h>
+#include <linux/input/touchscreen.h>
 #include <linux/input/edt-ft5x06.h>
 
 #define MAX_SUPPORT_POINTS             5
@@ -1034,17 +1035,15 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client,
        input->id.bustype = BUS_I2C;
        input->dev.parent = &client->dev;
 
-       __set_bit(EV_SYN, input->evbit);
-       __set_bit(EV_KEY, input->evbit);
-       __set_bit(EV_ABS, input->evbit);
-       __set_bit(BTN_TOUCH, input->keybit);
-       input_set_abs_params(input, ABS_X, 0, tsdata->num_x * 64 - 1, 0, 0);
-       input_set_abs_params(input, ABS_Y, 0, tsdata->num_y * 64 - 1, 0, 0);
        input_set_abs_params(input, ABS_MT_POSITION_X,
                             0, tsdata->num_x * 64 - 1, 0, 0);
        input_set_abs_params(input, ABS_MT_POSITION_Y,
                             0, tsdata->num_y * 64 - 1, 0, 0);
-       error = input_mt_init_slots(input, MAX_SUPPORT_POINTS, 0);
+
+       if (!pdata)
+               touchscreen_parse_properties(input, true);
+
+       error = input_mt_init_slots(input, MAX_SUPPORT_POINTS, INPUT_MT_DIRECT);
        if (error) {
                dev_err(&client->dev, "Unable to init MT slots.\n");
                return error;