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

Commit 341deefe authored by Philip Rakity's avatar Philip Rakity Committed by Dmitry Torokhov
Browse files

Input: tsc2007 - make sure that X plate resistance is specified



Abort driver initialization if X plate resistance was not specified in
platform data as it will cause pressure to be always calculated as 0,
and making userspace ignore touch coordinates.

Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 550eca7c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -310,6 +310,12 @@ static int __devinit tsc2007_probe(struct i2c_client *client,
	ts->get_pendown_state = pdata->get_pendown_state;
	ts->clear_penirq      = pdata->clear_penirq;

	if (pdata->x_plate_ohms == 0) {
		dev_err(&client->dev, "x_plate_ohms is not set up in platform data");
		err = -EINVAL;
		goto err_free_mem;
	}

	snprintf(ts->phys, sizeof(ts->phys),
		 "%s/input0", dev_name(&client->dev));

+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@

struct tsc2007_platform_data {
	u16	model;				/* 2007. */
	u16	x_plate_ohms;
	u16	x_plate_ohms;	/* must be non-zero value */
	u16	max_rt; /* max. resistance above which samples are ignored */
	unsigned long poll_delay; /* delay (in ms) after pen-down event
				     before polling starts */