Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 477baf7e authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: mms114 - mark as direct input device



mms14 is a touchscreen and thus a direct input device; let's mark it
as such. This also allows us to drop some initialization code as
input_init_mt_slots() will do that for us.

Also add error handling for input_mt_init_slots().

Reviewed-by: default avatarSimon Shields <simon@lineageos.org>
Tested-by: default avatarSimon Shields <simon@lineageos.org>
Reviewed-by: default avatarAndi Shyti <andi.shyti@samsung.com>
Tested-by: default avatarAndi Shyti <andi.shyti@samsung.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 5e703b88
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -462,14 +462,6 @@ static int mms114_probe(struct i2c_client *client,
	input_dev->open = mms114_input_open;
	input_dev->close = mms114_input_close;

	__set_bit(EV_ABS, input_dev->evbit);
	__set_bit(EV_KEY, input_dev->evbit);
	__set_bit(BTN_TOUCH, input_dev->keybit);
	input_set_abs_params(input_dev, ABS_X, 0, data->pdata->x_size, 0, 0);
	input_set_abs_params(input_dev, ABS_Y, 0, data->pdata->y_size, 0, 0);

	/* For multi touch */
	input_mt_init_slots(input_dev, MMS114_MAX_TOUCH, 0);
	input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR,
			     0, MMS114_MAX_AREA, 0, 0);
	input_set_abs_params(input_dev, ABS_MT_POSITION_X,
@@ -478,6 +470,11 @@ static int mms114_probe(struct i2c_client *client,
			     0, data->pdata->y_size, 0, 0);
	input_set_abs_params(input_dev, ABS_MT_PRESSURE, 0, 255, 0, 0);

	error = input_mt_init_slots(input_dev, MMS114_MAX_TOUCH,
				    INPUT_MT_DIRECT);
	if (error)
		return error;

	input_set_drvdata(input_dev, data);
	i2c_set_clientdata(client, data);