aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-em3027.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-em3027.c')
-rw-r--r--drivers/rtc/rtc-em3027.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-em3027.c b/drivers/rtc/rtc-em3027.c
index 0104ea7ebe50..f6c24ce35d36 100644
--- a/drivers/rtc/rtc-em3027.c
+++ b/drivers/rtc/rtc-em3027.c
@@ -49,8 +49,17 @@ static int em3027_get_time(struct device *dev, struct rtc_time *tm)
49 unsigned char buf[7]; 49 unsigned char buf[7];
50 50
51 struct i2c_msg msgs[] = { 51 struct i2c_msg msgs[] = {
52 {client->addr, 0, 1, &addr}, /* setup read addr */ 52 {/* setup read addr */
53 {client->addr, I2C_M_RD, 7, buf}, /* read time/date */ 53 .addr = client->addr,
54 .len = 1,
55 .buf = &addr
56 },
57 {/* read time/date */
58 .addr = client->addr,
59 .flags = I2C_M_RD,
60 .len = 7,
61 .buf = buf
62 },
54 }; 63 };
55 64
56 /* read time/date registers */ 65 /* read time/date registers */
@@ -76,7 +85,9 @@ static int em3027_set_time(struct device *dev, struct rtc_time *tm)
76 unsigned char buf[8]; 85 unsigned char buf[8];
77 86
78 struct i2c_msg msg = { 87 struct i2c_msg msg = {
79 client->addr, 0, 8, buf, /* write time/date */ 88 .addr = client->addr,
89 .len = 8,
90 .buf = buf, /* write time/date */
80 }; 91 };
81 92
82 buf[0] = EM3027_REG_WATCH_SEC; 93 buf[0] = EM3027_REG_WATCH_SEC;