• Home
  • Raw
  • Download

Lines Matching full:isl1208

3  * Intersil ISL1208 rtc class driver
71 /* ISL1208 various variants */
87 [TYPE_ISL1208] = { "isl1208", 2, false, false },
94 { "isl1208", TYPE_ISL1208 },
103 { .compatible = "isil,isl1208", .data = &isl1208_configs[TYPE_ISL1208] },
146 /* simple check to see whether we have a isl1208 */
596 struct isl1208_state *isl1208 = i2c_get_clientdata(client); in isl1208_rtc_interrupt() local
619 rtc_update_irq(isl1208->rtc, 1, RTC_IRQF | RTC_AF); in isl1208_rtc_interrupt()
636 if (isl1208->config->has_tamper && (sr & ISL1208_REG_SR_EVT)) { in isl1208_rtc_interrupt()
639 if (isl1208->config->has_timestamp) in isl1208_rtc_interrupt()
640 sysfs_notify(&isl1208->rtc->dev.kobj, NULL, in isl1208_rtc_interrupt()
744 struct isl1208_state *isl1208 = priv; in isl1208_nvmem_read() local
745 struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent); in isl1208_nvmem_read()
759 struct isl1208_state *isl1208 = priv; in isl1208_nvmem_write() local
760 struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent); in isl1208_nvmem_write()
803 struct isl1208_state *isl1208; in isl1208_probe() local
813 isl1208 = devm_kzalloc(&client->dev, sizeof(*isl1208), GFP_KERNEL); in isl1208_probe()
814 if (!isl1208) in isl1208_probe()
816 i2c_set_clientdata(client, isl1208); in isl1208_probe()
820 isl1208->config = of_device_get_match_data(&client->dev); in isl1208_probe()
821 if (!isl1208->config) in isl1208_probe()
826 isl1208->config = &isl1208_configs[id->driver_data]; in isl1208_probe()
829 isl1208->rtc = devm_rtc_allocate_device(&client->dev); in isl1208_probe()
830 if (IS_ERR(isl1208->rtc)) in isl1208_probe()
831 return PTR_ERR(isl1208->rtc); in isl1208_probe()
833 isl1208->rtc->ops = &isl1208_rtc_ops; in isl1208_probe()
836 isl1208->nvmem_config = isl1208_nvmem_config; in isl1208_probe()
837 isl1208->nvmem_config.size = isl1208->config->nvmem_length; in isl1208_probe()
838 isl1208->nvmem_config.priv = isl1208; in isl1208_probe()
850 if (isl1208->config->has_tamper) { in isl1208_probe()
873 if (isl1208->config->has_timestamp) { in isl1208_probe()
874 rc = rtc_add_group(isl1208->rtc, &isl1219_rtc_sysfs_files); in isl1208_probe()
879 rc = rtc_add_group(isl1208->rtc, &isl1208_rtc_sysfs_files); in isl1208_probe()
893 rc = rtc_nvmem_register(isl1208->rtc, &isl1208->nvmem_config); in isl1208_probe()
897 return rtc_register_device(isl1208->rtc); in isl1208_probe()
902 .name = "rtc-isl1208",
912 MODULE_DESCRIPTION("Intersil ISL1208 RTC driver");