Lines Matching refs:client
140 isl1208_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[], in isl1208_i2c_read_regs() argument
148 ret = i2c_smbus_read_i2c_block_data(client, reg, len, buf); in isl1208_i2c_read_regs()
154 isl1208_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[], in isl1208_i2c_set_regs() argument
162 ret = i2c_smbus_write_i2c_block_data(client, reg, len, buf); in isl1208_i2c_set_regs()
168 isl1208_i2c_validate_client(struct i2c_client *client) in isl1208_i2c_validate_client() argument
177 ret = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_validate_client()
189 static int isl1208_set_xtoscb(struct i2c_client *client, int sr, int xtosb_val) in isl1208_set_xtoscb() argument
200 return i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); in isl1208_set_xtoscb()
204 isl1208_i2c_get_sr(struct i2c_client *client) in isl1208_i2c_get_sr() argument
206 return i2c_smbus_read_byte_data(client, ISL1208_REG_SR); in isl1208_i2c_get_sr()
210 isl1208_i2c_get_atr(struct i2c_client *client) in isl1208_i2c_get_atr() argument
212 int atr = i2c_smbus_read_byte_data(client, ISL1208_REG_ATR); in isl1208_i2c_get_atr()
236 isl1208_i2c_get_dtr(struct i2c_client *client) in isl1208_i2c_get_dtr() argument
238 int dtr = i2c_smbus_read_byte_data(client, ISL1208_REG_DTR); in isl1208_i2c_get_dtr()
249 isl1208_i2c_get_usr(struct i2c_client *client) in isl1208_i2c_get_usr() argument
254 ret = isl1208_i2c_read_regs(client, ISL1208_REG_USR1, buf, in isl1208_i2c_get_usr()
263 isl1208_i2c_set_usr(struct i2c_client *client, u16 usr) in isl1208_i2c_set_usr() argument
270 return isl1208_i2c_set_regs(client, ISL1208_REG_USR1, buf, in isl1208_i2c_set_usr()
275 isl1208_rtc_toggle_alarm(struct i2c_client *client, int enable) in isl1208_rtc_toggle_alarm() argument
277 int icr = i2c_smbus_read_byte_data(client, ISL1208_REG_INT); in isl1208_rtc_toggle_alarm()
280 dev_err(&client->dev, "%s: reading INT failed\n", __func__); in isl1208_rtc_toggle_alarm()
289 icr = i2c_smbus_write_byte_data(client, ISL1208_REG_INT, icr); in isl1208_rtc_toggle_alarm()
291 dev_err(&client->dev, "%s: writing INT failed\n", __func__); in isl1208_rtc_toggle_alarm()
301 struct i2c_client *const client = to_i2c_client(dev); in isl1208_rtc_proc() local
304 sr = isl1208_i2c_get_sr(client); in isl1208_rtc_proc()
306 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_rtc_proc()
321 dtr = isl1208_i2c_get_dtr(client); in isl1208_rtc_proc()
325 atr = isl1208_i2c_get_atr(client); in isl1208_rtc_proc()
330 usr = isl1208_i2c_get_usr(client); in isl1208_rtc_proc()
338 isl1208_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) in isl1208_i2c_read_time() argument
343 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_read_time()
345 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_read_time()
349 sr = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_read_time()
351 dev_err(&client->dev, "%s: reading RTC section failed\n", in isl1208_i2c_read_time()
381 isl1208_i2c_read_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm) in isl1208_i2c_read_alarm() argument
385 int icr, yr, sr = isl1208_i2c_get_sr(client); in isl1208_i2c_read_alarm()
388 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_read_alarm()
392 sr = isl1208_i2c_read_regs(client, ISL1208_REG_SCA, regs, in isl1208_i2c_read_alarm()
395 dev_err(&client->dev, "%s: reading alarm section failed\n", in isl1208_i2c_read_alarm()
410 yr = i2c_smbus_read_byte_data(client, ISL1208_REG_YR); in isl1208_i2c_read_alarm()
412 dev_err(&client->dev, "%s: reading RTC YR failed\n", __func__); in isl1208_i2c_read_alarm()
417 icr = i2c_smbus_read_byte_data(client, ISL1208_REG_INT); in isl1208_i2c_read_alarm()
419 dev_err(&client->dev, "%s: reading INT failed\n", __func__); in isl1208_i2c_read_alarm()
428 isl1208_i2c_set_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm) in isl1208_i2c_set_alarm() argument
436 err = isl1208_i2c_read_time(client, &rtc_tm); in isl1208_i2c_set_alarm()
457 err = isl1208_i2c_set_regs(client, offs, regs, in isl1208_i2c_set_alarm()
460 dev_err(&client->dev, "%s: writing ALARM section failed\n", in isl1208_i2c_set_alarm()
465 err = isl1208_rtc_toggle_alarm(client, enable); in isl1208_i2c_set_alarm()
479 isl1208_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) in isl1208_i2c_set_time() argument
501 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_set_time()
503 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_set_time()
508 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
511 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
516 sr = isl1208_i2c_set_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); in isl1208_i2c_set_time()
518 dev_err(&client->dev, "%s: writing RTC section failed\n", in isl1208_i2c_set_time()
524 sr = isl1208_i2c_get_sr(client); in isl1208_i2c_set_time()
526 dev_err(&client->dev, "%s: reading SR failed\n", __func__); in isl1208_i2c_set_time()
529 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, in isl1208_i2c_set_time()
532 dev_err(&client->dev, "%s: writing SR failed\n", __func__); in isl1208_i2c_set_time()
561 struct i2c_client *client = to_i2c_client(dev->parent); in timestamp0_store() local
564 sr = isl1208_i2c_get_sr(client); in timestamp0_store()
572 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); in timestamp0_store()
583 struct i2c_client *client = to_i2c_client(dev->parent); in timestamp0_show() local
588 sr = isl1208_i2c_get_sr(client); in timestamp0_show()
597 sr = isl1208_i2c_read_regs(client, ISL1219_REG_SCT, regs, in timestamp0_show()
628 struct i2c_client *client = data; in isl1208_rtc_interrupt() local
629 struct isl1208_state *isl1208 = i2c_get_clientdata(client); in isl1208_rtc_interrupt()
650 sr = isl1208_i2c_get_sr(client); in isl1208_rtc_interrupt()
655 dev_err(&client->dev, "%s: reading SR failed\n", in isl1208_rtc_interrupt()
662 dev_dbg(&client->dev, "alarm!\n"); in isl1208_rtc_interrupt()
667 err = isl1208_rtc_toggle_alarm(client, 0); in isl1208_rtc_interrupt()
675 sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); in isl1208_rtc_interrupt()
677 dev_err(&client->dev, "%s: writing SR failed\n", in isl1208_rtc_interrupt()
684 dev_warn(&client->dev, "event detected"); in isl1208_rtc_interrupt()
792 struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent); in isl1208_nvmem_read() local
798 return isl1208_i2c_read_regs(client, ISL1208_REG_USR1 + off, buf, in isl1208_nvmem_read()
806 struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent); in isl1208_nvmem_write() local
812 return isl1208_i2c_set_regs(client, ISL1208_REG_USR1 + off, buf, in isl1208_nvmem_write()
830 static int isl1208_setup_irq(struct i2c_client *client, int irq) in isl1208_setup_irq() argument
832 int rc = devm_request_threaded_irq(&client->dev, irq, NULL, in isl1208_setup_irq()
836 client); in isl1208_setup_irq()
838 device_init_wakeup(&client->dev, true); in isl1208_setup_irq()
843 rc = devm_add_action_or_reset(&client->dev, in isl1208_setup_irq()
849 dev_err(&client->dev, in isl1208_setup_irq()
857 isl1208_clk_present(struct i2c_client *client, const char *name) in isl1208_clk_present() argument
861 clk = devm_clk_get_optional(&client->dev, name); in isl1208_clk_present()
869 isl1208_probe(struct i2c_client *client) in isl1208_probe() argument
877 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) in isl1208_probe()
880 if (isl1208_i2c_validate_client(client) < 0) in isl1208_probe()
884 isl1208 = devm_kzalloc(&client->dev, sizeof(*isl1208), GFP_KERNEL); in isl1208_probe()
887 i2c_set_clientdata(client, isl1208); in isl1208_probe()
890 isl1208->config = i2c_get_match_data(client); in isl1208_probe()
894 rc = isl1208_clk_present(client, "xin"); in isl1208_probe()
899 rc = isl1208_clk_present(client, "clkin"); in isl1208_probe()
907 isl1208->rtc = devm_rtc_allocate_device(&client->dev); in isl1208_probe()
918 sr = isl1208_i2c_get_sr(client); in isl1208_probe()
920 dev_err(&client->dev, "reading status failed\n"); in isl1208_probe()
927 rc = isl1208_set_xtoscb(client, sr, xtosb_val); in isl1208_probe()
932 dev_warn(&client->dev, "rtc power failure detected, " in isl1208_probe()
936 struct device_node *np = client->dev.of_node; in isl1208_probe()
939 rc = i2c_smbus_read_byte_data(client, ISL1219_REG_EV); in isl1208_probe()
941 dev_err(&client->dev, "failed to read EV reg\n"); in isl1208_probe()
951 rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc); in isl1208_probe()
953 dev_err(&client->dev, "could not enable tamper detection\n"); in isl1208_probe()
968 if (client->irq > 0) { in isl1208_probe()
969 rc = isl1208_setup_irq(client, client->irq); in isl1208_probe()
976 if (evdet_irq > 0 && evdet_irq != client->irq) in isl1208_probe()
977 rc = isl1208_setup_irq(client, evdet_irq); in isl1208_probe()