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
377 err = isl1208_i2c_read_time(client, &rtc_tm); in isl1208_i2c_set_alarm()
404 err = isl1208_i2c_set_regs(client, offs, regs, in isl1208_i2c_set_alarm()
407 dev_err(&client->dev, "%s: writing ALARM section failed\n", in isl1208_i2c_set_alarm()
412 err = isl1208_rtc_toggle_alarm(client, enable); in isl1208_i2c_set_alarm()
426 isl1208_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) in isl1208_i2c_set_time() argument
448 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_set_time()
450 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_set_time()
455 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
458 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
463 sr = isl1208_i2c_set_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_set_time()
465 dev_err(&client->dev, "%s: writing RTC section failed\n", in isl1208_i2c_set_time()
471 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
474 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
504 struct i2c_client *client = data; in isl1208_rtc_interrupt() local
505 struct rtc_device *rtc = i2c_get_clientdata(client); in isl1208_rtc_interrupt()
514 sr = isl1208_i2c_get_sr(client); in isl1208_rtc_interrupt()
519 dev_err(&client->dev, "%s: reading SR failed\n", in isl1208_rtc_interrupt()
526 dev_dbg(&client->dev, "alarm!\n"); in isl1208_rtc_interrupt()
532 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); in isl1208_rtc_interrupt()
534 dev_err(&client->dev, "%s: writing SR failed\n", in isl1208_rtc_interrupt()
540 err = isl1208_rtc_toggle_alarm(client, 0); in isl1208_rtc_interrupt()
631 isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id) in isl1208_probe() argument
636 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) in isl1208_probe()
639 if (isl1208_i2c_validate_client(client) < 0) in isl1208_probe()
642 dev_info(&client->dev, in isl1208_probe()
645 if (client->irq > 0) { in isl1208_probe()
646 rc = devm_request_threaded_irq(&client->dev, client->irq, NULL, in isl1208_probe()
650 client); in isl1208_probe()
652 device_init_wakeup(&client->dev, 1); in isl1208_probe()
653 enable_irq_wake(client->irq); in isl1208_probe()
655 dev_err(&client->dev, in isl1208_probe()
657 client->irq); in isl1208_probe()
658 client->irq = 0; in isl1208_probe()
662 rtc = devm_rtc_device_register(&client->dev, isl1208_driver.driver.name, in isl1208_probe()
668 i2c_set_clientdata(client, rtc); in isl1208_probe()
670 rc = isl1208_i2c_get_sr(client); in isl1208_probe()
672 dev_err(&client->dev, "reading status failed\n"); in isl1208_probe()
677 dev_warn(&client->dev, "rtc power failure detected, " in isl1208_probe()
680 rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files); in isl1208_probe()
688 isl1208_remove(struct i2c_client *client) in isl1208_remove() argument
690 sysfs_remove_group(&client->dev.kobj, &isl1208_rtc_sysfs_files); in isl1208_remove()