Lines Matching refs:info
113 struct max8998_rtc_info *info = dev_get_drvdata(dev); in max8998_rtc_read_time() local
117 ret = max8998_bulk_read(info->rtc, MAX8998_RTC_SEC, 8, data); in max8998_rtc_read_time()
128 struct max8998_rtc_info *info = dev_get_drvdata(dev); in max8998_rtc_set_time() local
134 ret = max8998_bulk_write(info->rtc, MAX8998_RTC_SEC, 8, data); in max8998_rtc_set_time()
136 if (info->lp3974_bug_workaround) in max8998_rtc_set_time()
144 struct max8998_rtc_info *info = dev_get_drvdata(dev); in max8998_rtc_read_alarm() local
149 ret = max8998_bulk_read(info->rtc, MAX8998_ALARM0_SEC, 8, data); in max8998_rtc_read_alarm()
155 ret = max8998_read_reg(info->rtc, MAX8998_ALARM0_CONF, &val); in max8998_rtc_read_alarm()
161 ret = max8998_read_reg(info->rtc, MAX8998_RTC_STATUS, &val); in max8998_rtc_read_alarm()
173 static int max8998_rtc_stop_alarm(struct max8998_rtc_info *info) in max8998_rtc_stop_alarm() argument
175 int ret = max8998_write_reg(info->rtc, MAX8998_ALARM0_CONF, 0); in max8998_rtc_stop_alarm()
177 if (info->lp3974_bug_workaround) in max8998_rtc_stop_alarm()
183 static int max8998_rtc_start_alarm(struct max8998_rtc_info *info) in max8998_rtc_start_alarm() argument
189 if (info->lp3974_bug_workaround) in max8998_rtc_start_alarm()
192 ret = max8998_write_reg(info->rtc, MAX8998_ALARM0_CONF, alarm0_conf); in max8998_rtc_start_alarm()
194 if (info->lp3974_bug_workaround) in max8998_rtc_start_alarm()
202 struct max8998_rtc_info *info = dev_get_drvdata(dev); in max8998_rtc_set_alarm() local
208 ret = max8998_rtc_stop_alarm(info); in max8998_rtc_set_alarm()
212 ret = max8998_bulk_write(info->rtc, MAX8998_ALARM0_SEC, 8, data); in max8998_rtc_set_alarm()
216 if (info->lp3974_bug_workaround) in max8998_rtc_set_alarm()
220 ret = max8998_rtc_start_alarm(info); in max8998_rtc_set_alarm()
228 struct max8998_rtc_info *info = dev_get_drvdata(dev); in max8998_rtc_alarm_irq_enable() local
231 return max8998_rtc_start_alarm(info); in max8998_rtc_alarm_irq_enable()
233 return max8998_rtc_stop_alarm(info); in max8998_rtc_alarm_irq_enable()
238 struct max8998_rtc_info *info = data; in max8998_rtc_alarm_irq() local
240 rtc_update_irq(info->rtc_dev, 1, RTC_IRQF | RTC_AF); in max8998_rtc_alarm_irq()
257 struct max8998_rtc_info *info; in max8998_rtc_probe() local
260 info = devm_kzalloc(&pdev->dev, sizeof(struct max8998_rtc_info), in max8998_rtc_probe()
262 if (!info) in max8998_rtc_probe()
265 info->dev = &pdev->dev; in max8998_rtc_probe()
266 info->max8998 = max8998; in max8998_rtc_probe()
267 info->rtc = max8998->rtc; in max8998_rtc_probe()
269 platform_set_drvdata(pdev, info); in max8998_rtc_probe()
271 info->rtc_dev = devm_rtc_device_register(&pdev->dev, "max8998-rtc", in max8998_rtc_probe()
274 if (IS_ERR(info->rtc_dev)) { in max8998_rtc_probe()
275 ret = PTR_ERR(info->rtc_dev); in max8998_rtc_probe()
283 info->irq = irq_create_mapping(max8998->irq_domain, MAX8998_IRQ_ALARM0); in max8998_rtc_probe()
284 if (!info->irq) { in max8998_rtc_probe()
289 ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL, in max8998_rtc_probe()
290 max8998_rtc_alarm_irq, 0, "rtc-alarm0", info); in max8998_rtc_probe()
294 info->irq, ret); in max8998_rtc_probe()
299 info->lp3974_bug_workaround = true; in max8998_rtc_probe()