Re: [PATCH V2] input:ad7879-i2c use swapped varient of i2c_smbus_read_word_data
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2011-10-21 16:09:33
On Fri, Oct 21, 2011 at 12:57:16PM +0100, Jonathan Cameron wrote:
quoted hunk ↗ jump to hunk
This varient was introduced in i2c: boilerplate function for byte swapped smbus_write/read_word_data This also has the side effect of ensuring any errors from the i2c read and no longer mangled. Signed-off-by: Jonathan Cameron <redacted> --- V2: include the write function as pointed out by Michael Hennerich. The patch introducing this swapped function is working its way through the i2c tree. drivers/input/touchscreen/ad7879-i2c.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/input/touchscreen/ad7879-i2c.c b/drivers/input/touchscreen/ad7879-i2c.c index 4e4e58c..cc51392 100644 --- a/drivers/input/touchscreen/ad7879-i2c.c +++ b/drivers/input/touchscreen/ad7879-i2c.c@@ -47,7 +47,7 @@ static int ad7879_i2c_read(struct device *dev, u8 reg) { struct i2c_client *client = to_i2c_client(dev); - return swab16(i2c_smbus_read_word_data(client, reg)); + return i2c_smbus_read_word_swapped(client, reg);
This is still not endian-safe. I wonder if introducing i2c_smbus_read_word_swapped() just makes the metter worse by hiding this... I'd prefer if we had i2c_smbus_read_be16() instead. -- Dmitry