The datasheet specifies that transfer mode must be 0 for write and either
0x4 (simplified read) or 0 (standard read). 0x8 is not specified, use
standard mode.

Signed-off-by: Alexandre Belloni <[email protected]>
---
 drivers/rtc/rtc-rx8025.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/rtc/rtc-rx8025.c b/drivers/rtc/rtc-rx8025.c
index 3612362b65ac..771558602409 100644
--- a/drivers/rtc/rtc-rx8025.c
+++ b/drivers/rtc/rtc-rx8025.c
@@ -77,7 +77,7 @@ struct rx8025_data {
 
 static int rx8025_read_reg(struct i2c_client *client, int number, u8 *value)
 {
-       int ret = i2c_smbus_read_byte_data(client, (number << 4) | 0x08);
+       int ret = i2c_smbus_read_byte_data(client, number << 4);
 
        if (ret < 0) {
                dev_err(&client->dev, "Unable to read register #%d\n", number);
@@ -91,7 +91,7 @@ static int rx8025_read_reg(struct i2c_client *client, int 
number, u8 *value)
 static int rx8025_read_regs(struct i2c_client *client,
                            int number, u8 length, u8 *values)
 {
-       int ret = i2c_smbus_read_i2c_block_data(client, (number << 4) | 0x08,
+       int ret = i2c_smbus_read_i2c_block_data(client, number << 4,
                                                length, values);
 
        if (ret != length) {
@@ -117,7 +117,7 @@ static int rx8025_write_reg(struct i2c_client *client, int 
number, u8 value)
 static int rx8025_write_regs(struct i2c_client *client,
                             int number, u8 length, u8 *values)
 {
-       int ret = i2c_smbus_write_i2c_block_data(client, (number << 4) | 0x08,
+       int ret = i2c_smbus_write_i2c_block_data(client, number << 4,
                                                 length, values);
 
        if (ret)
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to