forked from Minki/linux
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>
This commit is contained in:
parent
32672c5595
commit
2e10e74df7
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user