input->id.bustype = BUS_I2C;
        input->dev.parent = &client->dev;
 
-       __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,
        if (!pdata)
                touchscreen_parse_of_params(input);
 
-       error = input_mt_init_slots(input, MAX_SUPPORT_POINTS, 0);
+       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;