diff options
author | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2015-07-25 15:54:59 +0200 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2015-09-05 13:19:11 +0200 |
commit | 2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf (patch) | |
tree | b7b99ef8063252cf6d2c311df30a20bb5839d2be /drivers/rtc/rtc-rx8025.c | |
parent | 32672c55951b2633bb93ec6f12734cf17e9d3a14 (diff) | |
download | linux-2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf.tar.gz linux-2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf.tar.bz2 linux-2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf.zip |
rtc: rx8025: fix transfer mode
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 <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc/rtc-rx8025.c')
-rw-r--r-- | drivers/rtc/rtc-rx8025.c | 6 |
1 files 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) |