Lines Matching refs:client

66 isl1208_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[],  in isl1208_i2c_read_regs()  argument
72 .addr = client->addr, in isl1208_i2c_read_regs()
77 .addr = client->addr, in isl1208_i2c_read_regs()
88 ret = i2c_transfer(client->adapter, msgs, 2); in isl1208_i2c_read_regs()
96 isl1208_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[], in isl1208_i2c_set_regs() argument
102 .addr = client->addr, in isl1208_i2c_set_regs()
115 ret = i2c_transfer(client->adapter, msgs, 1); in isl1208_i2c_set_regs()
123 isl1208_i2c_validate_client(struct i2c_client *client) in isl1208_i2c_validate_client() argument
132 ret = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_validate_client()
145 isl1208_i2c_get_sr(struct i2c_client *client) in isl1208_i2c_get_sr() argument
147 return i2c_smbus_read_byte_data(client, ISL1208_REG_SR); in isl1208_i2c_get_sr()
151 isl1208_i2c_get_atr(struct i2c_client *client) in isl1208_i2c_get_atr() argument
153 int atr = i2c_smbus_read_byte_data(client, ISL1208_REG_ATR); in isl1208_i2c_get_atr()
176 isl1208_i2c_get_dtr(struct i2c_client *client) in isl1208_i2c_get_dtr() argument
178 int dtr = i2c_smbus_read_byte_data(client, ISL1208_REG_DTR); in isl1208_i2c_get_dtr()
189 isl1208_i2c_get_usr(struct i2c_client *client) in isl1208_i2c_get_usr() argument
194 ret = isl1208_i2c_read_regs(client, ISL1208_REG_USR1, buf, in isl1208_i2c_get_usr()
203 isl1208_i2c_set_usr(struct i2c_client *client, u16 usr) in isl1208_i2c_set_usr() argument
210 return isl1208_i2c_set_regs(client, ISL1208_REG_USR1, buf, in isl1208_i2c_set_usr()
215 isl1208_rtc_toggle_alarm(struct i2c_client *client, int enable) in isl1208_rtc_toggle_alarm() argument
217 int icr = i2c_smbus_read_byte_data(client, ISL1208_REG_INT); in isl1208_rtc_toggle_alarm()
220 dev_err(&client->dev, "%s: reading INT failed\n", __func__); in isl1208_rtc_toggle_alarm()
229 icr = i2c_smbus_write_byte_data(client, ISL1208_REG_INT, icr); in isl1208_rtc_toggle_alarm()
231 dev_err(&client->dev, "%s: writing INT failed\n", __func__); in isl1208_rtc_toggle_alarm()
241 struct i2c_client *const client = to_i2c_client(dev); in isl1208_rtc_proc() local
244 sr = isl1208_i2c_get_sr(client); in isl1208_rtc_proc()
246 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_rtc_proc()
261 dtr = isl1208_i2c_get_dtr(client); in isl1208_rtc_proc()
265 atr = isl1208_i2c_get_atr(client); in isl1208_rtc_proc()
270 usr = isl1208_i2c_get_usr(client); in isl1208_rtc_proc()
278 isl1208_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) in isl1208_i2c_read_time() argument
283 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_read_time()
285 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_read_time()
289 sr = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_read_time()
291 dev_err(&client->dev, "%s: reading RTC section failed\n", in isl1208_i2c_read_time()
321 isl1208_i2c_read_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm) in isl1208_i2c_read_alarm() argument
325 int icr, yr, sr = isl1208_i2c_get_sr(client); in isl1208_i2c_read_alarm()
328 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_read_alarm()
332 sr = isl1208_i2c_read_regs(client, ISL1208_REG_SCA, regs, in isl1208_i2c_read_alarm()
335 dev_err(&client->dev, "%s: reading alarm section failed\n", in isl1208_i2c_read_alarm()
350 yr = i2c_smbus_read_byte_data(client, ISL1208_REG_YR); in isl1208_i2c_read_alarm()
352 dev_err(&client->dev, "%s: reading RTC YR failed\n", __func__); in isl1208_i2c_read_alarm()
357 icr = i2c_smbus_read_byte_data(client, ISL1208_REG_INT); in isl1208_i2c_read_alarm()
359 dev_err(&client->dev, "%s: reading INT failed\n", __func__); in isl1208_i2c_read_alarm()
368 isl1208_i2c_set_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm) in isl1208_i2c_set_alarm() argument
376 err = isl1208_i2c_read_time(client, &rtc_tm); in isl1208_i2c_set_alarm()
397 err = isl1208_i2c_set_regs(client, offs, regs, in isl1208_i2c_set_alarm()
400 dev_err(&client->dev, "%s: writing ALARM section failed\n", in isl1208_i2c_set_alarm()
405 err = isl1208_rtc_toggle_alarm(client, enable); in isl1208_i2c_set_alarm()
419 isl1208_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) in isl1208_i2c_set_time() argument
441 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_set_time()
443 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_set_time()
448 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
451 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
456 sr = isl1208_i2c_set_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_set_time()
458 dev_err(&client->dev, "%s: writing RTC section failed\n", in isl1208_i2c_set_time()
464 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
467 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
497 struct i2c_client *client = data; in isl1208_rtc_interrupt() local
498 struct rtc_device *rtc = i2c_get_clientdata(client); in isl1208_rtc_interrupt()
507 sr = isl1208_i2c_get_sr(client); in isl1208_rtc_interrupt()
512 dev_err(&client->dev, "%s: reading SR failed\n", in isl1208_rtc_interrupt()
519 dev_dbg(&client->dev, "alarm!\n"); in isl1208_rtc_interrupt()
525 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); in isl1208_rtc_interrupt()
527 dev_err(&client->dev, "%s: writing SR failed\n", in isl1208_rtc_interrupt()
533 err = isl1208_rtc_toggle_alarm(client, 0); in isl1208_rtc_interrupt()
624 isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id) in isl1208_probe() argument
629 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) in isl1208_probe()
632 if (isl1208_i2c_validate_client(client) < 0) in isl1208_probe()
635 dev_info(&client->dev, in isl1208_probe()
638 if (client->irq > 0) { in isl1208_probe()
639 rc = devm_request_threaded_irq(&client->dev, client->irq, NULL, in isl1208_probe()
643 client); in isl1208_probe()
645 device_init_wakeup(&client->dev, 1); in isl1208_probe()
646 enable_irq_wake(client->irq); in isl1208_probe()
648 dev_err(&client->dev, in isl1208_probe()
650 client->irq); in isl1208_probe()
651 client->irq = 0; in isl1208_probe()
655 rtc = devm_rtc_device_register(&client->dev, isl1208_driver.driver.name, in isl1208_probe()
661 i2c_set_clientdata(client, rtc); in isl1208_probe()
663 rc = isl1208_i2c_get_sr(client); in isl1208_probe()
665 dev_err(&client->dev, "reading status failed\n"); in isl1208_probe()
670 dev_warn(&client->dev, "rtc power failure detected, " in isl1208_probe()
673 rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files); in isl1208_probe()
681 isl1208_remove(struct i2c_client *client) in isl1208_remove() argument
683 sysfs_remove_group(&client->dev.kobj, &isl1208_rtc_sysfs_files); in isl1208_remove()