2.6.37-stable review patch. If anyone has any objections, please let us know.
------------------ From: [email protected] <[email protected]> commit 4b57018dcd6418e18c08088c89f123da8a7bfc45 upstream. tps6586 does not support burst writes. i2c writes have to be 1 byte at a time. Signed-off-by: Varun Wadekar <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> --- drivers/mfd/tps6586x.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) --- a/drivers/mfd/tps6586x.c +++ b/drivers/mfd/tps6586x.c @@ -152,12 +152,12 @@ static inline int __tps6586x_write(struc static inline int __tps6586x_writes(struct i2c_client *client, int reg, int len, uint8_t *val) { - int ret; + int ret, i; - ret = i2c_smbus_write_i2c_block_data(client, reg, len, val); - if (ret < 0) { - dev_err(&client->dev, "failed writings to 0x%02x\n", reg); - return ret; + for (i = 0; i < len; i++) { + ret = __tps6586x_write(client, reg + i, *(val + i)); + if (ret < 0) + return ret; } return 0; _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
