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

Commit a6e8c0a2 authored by Javier Martin's avatar Javier Martin Committed by Dmitry Torokhov
Browse files

Input: qt2160 - fix qt2160_write() implementation



The previous implementation of qt2160_write() didn't work properly because
the value was actually not written to the device. Probably nobody detected
this because the only write that was issued was the one related to auto
calibration.

In order to fix the problem use a similar aproach as qt1070 instead.

Signed-off-by: default avatarJavier Martin <javier.martin@vista-silicon.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent e52278a3
Loading
Loading
Loading
Loading
+5 −14
Original line number Diff line number Diff line
@@ -207,23 +207,14 @@ static int __devinit qt2160_read(struct i2c_client *client, u8 reg)

static int __devinit qt2160_write(struct i2c_client *client, u8 reg, u8 data)
{
	int error;

	error = i2c_smbus_write_byte(client, reg);
	if (error) {
		dev_err(&client->dev,
			"couldn't send request. Returned %d\n", error);
		return error;
	}
	int ret;

	error = i2c_smbus_write_byte(client, data);
	if (error) {
	ret = i2c_smbus_write_byte_data(client, reg, data);
	if (ret < 0)
		dev_err(&client->dev,
			"couldn't write data. Returned %d\n", error);
		return error;
	}
			"couldn't write data. Returned %d\n", ret);

	return error;
	return ret;
}