Lines Matching refs:rtc

90 	struct da9063_rtc *rtc = dev_get_drvdata(dev);  in da9063_rtc_stop_alarm()  local
92 return regmap_update_bits(rtc->hw->regmap, rtc->alarm_year, in da9063_rtc_stop_alarm()
98 struct da9063_rtc *rtc = dev_get_drvdata(dev); in da9063_rtc_start_alarm() local
100 return regmap_update_bits(rtc->hw->regmap, rtc->alarm_year, in da9063_rtc_start_alarm()
106 struct da9063_rtc *rtc = dev_get_drvdata(dev); in da9063_rtc_read_time() local
112 ret = regmap_bulk_read(rtc->hw->regmap, DA9063_REG_COUNT_S, in da9063_rtc_read_time()
127 rtc_tm_to_time(&rtc->alarm_time, &al_secs); in da9063_rtc_read_time()
130 if (rtc->rtc_sync == true && al_secs - tm_secs == 1) in da9063_rtc_read_time()
131 memcpy(tm, &rtc->alarm_time, sizeof(struct rtc_time)); in da9063_rtc_read_time()
133 rtc->rtc_sync = false; in da9063_rtc_read_time()
140 struct da9063_rtc *rtc = dev_get_drvdata(dev); in da9063_rtc_set_time() local
145 ret = regmap_bulk_write(rtc->hw->regmap, DA9063_REG_COUNT_S, in da9063_rtc_set_time()
155 struct da9063_rtc *rtc = dev_get_drvdata(dev); in da9063_rtc_read_alarm() local
161 ret = regmap_bulk_read(rtc->hw->regmap, rtc->alarm_start, in da9063_rtc_read_alarm()
162 &data[rtc->data_start], rtc->alarm_len); in da9063_rtc_read_alarm()
170 ret = regmap_read(rtc->hw->regmap, DA9063_REG_EVENT_A, &val); in da9063_rtc_read_alarm()
184 struct da9063_rtc *rtc = dev_get_drvdata(dev); in da9063_rtc_set_alarm() local
196 ret = regmap_bulk_write(rtc->hw->regmap, rtc->alarm_start, in da9063_rtc_set_alarm()
197 &data[rtc->data_start], rtc->alarm_len); in da9063_rtc_set_alarm()
203 da9063_data_to_tm(data, &rtc->alarm_time); in da9063_rtc_set_alarm()
226 struct da9063_rtc *rtc = data; in da9063_alarm_event() local
228 regmap_update_bits(rtc->hw->regmap, rtc->alarm_year, in da9063_alarm_event()
231 rtc->rtc_sync = true; in da9063_alarm_event()
232 rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF); in da9063_alarm_event()
248 struct da9063_rtc *rtc; in da9063_rtc_probe() local
267 rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL); in da9063_rtc_probe()
268 if (!rtc) in da9063_rtc_probe()
272 rtc->alarm_year = DA9063_AD_REG_ALARM_Y; in da9063_rtc_probe()
273 rtc->alarm_start = DA9063_AD_REG_ALARM_MI; in da9063_rtc_probe()
274 rtc->alarm_len = RTC_ALARM_DATA_LEN; in da9063_rtc_probe()
275 rtc->data_start = RTC_MIN; in da9063_rtc_probe()
277 rtc->alarm_year = DA9063_BB_REG_ALARM_Y; in da9063_rtc_probe()
278 rtc->alarm_start = DA9063_BB_REG_ALARM_S; in da9063_rtc_probe()
279 rtc->alarm_len = RTC_DATA_LEN; in da9063_rtc_probe()
280 rtc->data_start = RTC_SEC; in da9063_rtc_probe()
283 ret = regmap_update_bits(da9063->regmap, rtc->alarm_start, in da9063_rtc_probe()
291 ret = regmap_update_bits(da9063->regmap, rtc->alarm_start, in da9063_rtc_probe()
299 ret = regmap_update_bits(da9063->regmap, rtc->alarm_year, in da9063_rtc_probe()
307 ret = regmap_bulk_read(da9063->regmap, rtc->alarm_start, in da9063_rtc_probe()
308 &data[rtc->data_start], rtc->alarm_len); in da9063_rtc_probe()
315 platform_set_drvdata(pdev, rtc); in da9063_rtc_probe()
321 "ALARM", rtc); in da9063_rtc_probe()
328 rtc->hw = da9063; in da9063_rtc_probe()
329 rtc->rtc_dev = devm_rtc_device_register(&pdev->dev, DA9063_DRVNAME_RTC, in da9063_rtc_probe()
331 if (IS_ERR(rtc->rtc_dev)) in da9063_rtc_probe()
332 return PTR_ERR(rtc->rtc_dev); in da9063_rtc_probe()
334 da9063_data_to_tm(data, &rtc->alarm_time); in da9063_rtc_probe()
335 rtc->rtc_sync = false; in da9063_rtc_probe()