|
@@ -97,8 +97,17 @@ static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
|
|
|
int i;
|
|
|
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- { client->addr, 0, 2, dt_addr }, /* setup read ptr */
|
|
|
- { client->addr, I2C_M_RD, 8, buf }, /* read date */
|
|
|
+ {/* setup read ptr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = dt_addr
|
|
|
+ },
|
|
|
+ {/* read date */
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 8,
|
|
|
+ .buf = buf
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read date registers */
|
|
@@ -142,8 +151,17 @@ static int x1205_get_status(struct i2c_client *client, unsigned char *sr)
|
|
|
static unsigned char sr_addr[2] = { 0, X1205_REG_SR };
|
|
|
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- { client->addr, 0, 2, sr_addr }, /* setup read ptr */
|
|
|
- { client->addr, I2C_M_RD, 1, sr }, /* read status */
|
|
|
+ { /* setup read ptr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = sr_addr
|
|
|
+ },
|
|
|
+ { /* read status */
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = sr
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read status register */
|
|
@@ -279,8 +297,17 @@ static int x1205_get_dtrim(struct i2c_client *client, int *trim)
|
|
|
static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR };
|
|
|
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- { client->addr, 0, 2, dtr_addr }, /* setup read ptr */
|
|
|
- { client->addr, I2C_M_RD, 1, &dtr }, /* read dtr */
|
|
|
+ { /* setup read ptr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = dtr_addr
|
|
|
+ },
|
|
|
+ { /* read dtr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = &dtr
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read dtr register */
|
|
@@ -311,8 +338,17 @@ static int x1205_get_atrim(struct i2c_client *client, int *trim)
|
|
|
static unsigned char atr_addr[2] = { 0, X1205_REG_ATR };
|
|
|
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- { client->addr, 0, 2, atr_addr }, /* setup read ptr */
|
|
|
- { client->addr, I2C_M_RD, 1, &atr }, /* read atr */
|
|
|
+ {/* setup read ptr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = atr_addr
|
|
|
+ },
|
|
|
+ {/* read atr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = &atr
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read atr register */
|
|
@@ -381,8 +417,17 @@ static int x1205_validate_client(struct i2c_client *client)
|
|
|
unsigned char addr[2] = { 0, probe_zero_pattern[i] };
|
|
|
|
|
|
struct i2c_msg msgs[2] = {
|
|
|
- { client->addr, 0, 2, addr },
|
|
|
- { client->addr, I2C_M_RD, 1, &buf },
|
|
|
+ {
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = addr
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = &buf
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
if ((xfer = i2c_transfer(client->adapter, msgs, 2)) != 2) {
|
|
@@ -409,8 +454,17 @@ static int x1205_validate_client(struct i2c_client *client)
|
|
|
unsigned char addr[2] = { 0, probe_limits_pattern[i].reg };
|
|
|
|
|
|
struct i2c_msg msgs[2] = {
|
|
|
- { client->addr, 0, 2, addr },
|
|
|
- { client->addr, I2C_M_RD, 1, ® },
|
|
|
+ {
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = addr
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = ®
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
if ((xfer = i2c_transfer(client->adapter, msgs, 2)) != 2) {
|
|
@@ -444,8 +498,18 @@ static int x1205_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
|
|
|
static unsigned char int_addr[2] = { 0, X1205_REG_INT };
|
|
|
struct i2c_client *client = to_i2c_client(dev);
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- { client->addr, 0, 2, int_addr }, /* setup read ptr */
|
|
|
- { client->addr, I2C_M_RD, 1, &intreg }, /* read INT register */
|
|
|
+ { /* setup read ptr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 2,
|
|
|
+ .buf = int_addr
|
|
|
+ },
|
|
|
+ {/* read INT register */
|
|
|
+
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 1,
|
|
|
+ .buf = &intreg
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read interrupt register and status register */
|