Lines Matching refs:client

88 rv3029c2_i2c_read_regs(struct i2c_client *client, u8 reg, u8 *buf,  in rv3029c2_i2c_read_regs()  argument
97 ret = i2c_smbus_read_i2c_block_data(client, reg, len, buf); in rv3029c2_i2c_read_regs()
106 rv3029c2_i2c_write_regs(struct i2c_client *client, u8 reg, u8 const buf[], in rv3029c2_i2c_write_regs() argument
113 return i2c_smbus_write_i2c_block_data(client, reg, len, buf); in rv3029c2_i2c_write_regs()
117 rv3029c2_i2c_get_sr(struct i2c_client *client, u8 *buf) in rv3029c2_i2c_get_sr() argument
119 int ret = rv3029c2_i2c_read_regs(client, RV3029C2_STATUS, buf, 1); in rv3029c2_i2c_get_sr()
123 dev_dbg(&client->dev, "status = 0x%.2x (%d)\n", buf[0], buf[0]); in rv3029c2_i2c_get_sr()
128 rv3029c2_i2c_set_sr(struct i2c_client *client, u8 val) in rv3029c2_i2c_set_sr() argument
134 sr = rv3029c2_i2c_write_regs(client, RV3029C2_STATUS, buf, 1); in rv3029c2_i2c_set_sr()
135 dev_dbg(&client->dev, "status = 0x%.2x (%d)\n", buf[0], buf[0]); in rv3029c2_i2c_set_sr()
142 rv3029c2_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) in rv3029c2_i2c_read_time() argument
148 ret = rv3029c2_i2c_get_sr(client, buf); in rv3029c2_i2c_read_time()
150 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in rv3029c2_i2c_read_time()
154 ret = rv3029c2_i2c_read_regs(client, RV3029C2_W_SEC , regs, in rv3029c2_i2c_read_time()
157 dev_err(&client->dev, "%s: reading RTC section failed\n", in rv3029c2_i2c_read_time()
191 rv3029c2_i2c_read_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm) in rv3029c2_i2c_read_alarm() argument
197 ret = rv3029c2_i2c_get_sr(client, regs); in rv3029c2_i2c_read_alarm()
199 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in rv3029c2_i2c_read_alarm()
203 ret = rv3029c2_i2c_read_regs(client, RV3029C2_A_SC, regs, in rv3029c2_i2c_read_alarm()
207 dev_err(&client->dev, "%s: reading alarm section failed\n", in rv3029c2_i2c_read_alarm()
229 static int rv3029c2_rtc_i2c_alarm_set_irq(struct i2c_client *client, in rv3029c2_rtc_i2c_alarm_set_irq() argument
236 ret = rv3029c2_i2c_read_regs(client, RV3029C2_IRQ_CTRL, buf, 1); in rv3029c2_rtc_i2c_alarm_set_irq()
238 dev_err(&client->dev, "can't read INT reg\n"); in rv3029c2_rtc_i2c_alarm_set_irq()
246 ret = rv3029c2_i2c_write_regs(client, RV3029C2_IRQ_CTRL, buf, 1); in rv3029c2_rtc_i2c_alarm_set_irq()
248 dev_err(&client->dev, "can't set INT reg\n"); in rv3029c2_rtc_i2c_alarm_set_irq()
255 static int rv3029c2_rtc_i2c_set_alarm(struct i2c_client *client, in rv3029c2_rtc_i2c_set_alarm() argument
270 ret = rv3029c2_i2c_get_sr(client, regs); in rv3029c2_rtc_i2c_set_alarm()
272 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in rv3029c2_rtc_i2c_set_alarm()
283 ret = rv3029c2_i2c_write_regs(client, RV3029C2_A_SC, regs, in rv3029c2_rtc_i2c_set_alarm()
292 ret = rv3029c2_i2c_read_regs(client, RV3029C2_IRQ_FLAGS, in rv3029c2_rtc_i2c_set_alarm()
295 dev_err(&client->dev, "can't read alarm flag\n"); in rv3029c2_rtc_i2c_set_alarm()
299 ret = rv3029c2_i2c_write_regs(client, RV3029C2_IRQ_FLAGS, in rv3029c2_rtc_i2c_set_alarm()
302 dev_err(&client->dev, "can't set alarm flag\n"); in rv3029c2_rtc_i2c_set_alarm()
306 ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 1); in rv3029c2_rtc_i2c_set_alarm()
310 dev_dbg(&client->dev, "alarm IRQ armed\n"); in rv3029c2_rtc_i2c_set_alarm()
313 ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 0); in rv3029c2_rtc_i2c_set_alarm()
317 dev_dbg(&client->dev, "alarm IRQ disabled\n"); in rv3029c2_rtc_i2c_set_alarm()
329 rv3029c2_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) in rv3029c2_i2c_set_time() argument
350 ret = rv3029c2_i2c_write_regs(client, RV3029C2_W_SEC, regs, in rv3029c2_i2c_set_time()
355 ret = rv3029c2_i2c_get_sr(client, regs); in rv3029c2_i2c_set_time()
357 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in rv3029c2_i2c_set_time()
361 ret = rv3029c2_i2c_set_sr(client, (regs[0] & ~RV3029C2_STATUS_PON)); in rv3029c2_i2c_set_time()
363 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in rv3029c2_i2c_set_time()
388 static int rv3029c2_probe(struct i2c_client *client, in rv3029c2_probe() argument
395 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_EMUL)) in rv3029c2_probe()
398 rc = rv3029c2_i2c_get_sr(client, buf); in rv3029c2_probe()
400 dev_err(&client->dev, "reading status failed\n"); in rv3029c2_probe()
404 rtc = devm_rtc_device_register(&client->dev, client->name, in rv3029c2_probe()
410 i2c_set_clientdata(client, rtc); in rv3029c2_probe()