|
@@ -49,8 +49,17 @@ static int em3027_get_time(struct device *dev, struct rtc_time *tm)
|
|
|
unsigned char buf[7];
|
|
|
|
|
|
struct i2c_msg msgs[] = {
|
|
|
- {client->addr, 0, 1, &addr}, /* setup read addr */
|
|
|
- {client->addr, I2C_M_RD, 7, buf}, /* read time/date */
|
|
|
+ {/* setup read addr */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 1,
|
|
|
+ .buf = &addr
|
|
|
+ },
|
|
|
+ {/* read time/date */
|
|
|
+ .addr = client->addr,
|
|
|
+ .flags = I2C_M_RD,
|
|
|
+ .len = 7,
|
|
|
+ .buf = buf
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* read time/date registers */
|
|
@@ -76,7 +85,9 @@ static int em3027_set_time(struct device *dev, struct rtc_time *tm)
|
|
|
unsigned char buf[8];
|
|
|
|
|
|
struct i2c_msg msg = {
|
|
|
- client->addr, 0, 8, buf, /* write time/date */
|
|
|
+ .addr = client->addr,
|
|
|
+ .len = 8,
|
|
|
+ .buf = buf, /* write time/date */
|
|
|
};
|
|
|
|
|
|
buf[0] = EM3027_REG_WATCH_SEC;
|