Lines Matching refs:rtc
83 struct rtc_device *rtc; member
108 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5121_rtc_read_time() local
109 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_read_time()
130 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5121_rtc_set_time() local
131 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_set_time()
154 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5200_rtc_read_time() local
155 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5200_rtc_read_time()
181 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5200_rtc_set_time() local
182 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5200_rtc_set_time()
203 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5121_rtc_read_alarm() local
204 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_read_alarm()
206 *alarm = rtc->wkalarm; in mpc5121_rtc_read_alarm()
215 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5121_rtc_set_alarm() local
216 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_set_alarm()
241 rtc->wkalarm = *alarm; in mpc5121_rtc_set_alarm()
247 struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev); in mpc5121_rtc_handler() local
248 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_handler()
255 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF); in mpc5121_rtc_handler()
264 struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev); in mpc5121_rtc_handler_upd() local
265 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_handler_upd()
271 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_UF); in mpc5121_rtc_handler_upd()
281 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev); in mpc5121_rtc_alarm_irq_enable() local
282 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_alarm_irq_enable()
291 rtc->wkalarm.enabled = val; in mpc5121_rtc_alarm_irq_enable()
314 struct mpc5121_rtc_data *rtc; in mpc5121_rtc_probe() local
317 rtc = devm_kzalloc(&op->dev, sizeof(*rtc), GFP_KERNEL); in mpc5121_rtc_probe()
318 if (!rtc) in mpc5121_rtc_probe()
321 rtc->regs = of_iomap(op->dev.of_node, 0); in mpc5121_rtc_probe()
322 if (!rtc->regs) { in mpc5121_rtc_probe()
329 platform_set_drvdata(op, rtc); in mpc5121_rtc_probe()
331 rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1); in mpc5121_rtc_probe()
332 err = request_irq(rtc->irq, mpc5121_rtc_handler, 0, in mpc5121_rtc_probe()
336 __func__, rtc->irq); in mpc5121_rtc_probe()
340 rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0); in mpc5121_rtc_probe()
341 err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd, in mpc5121_rtc_probe()
345 __func__, rtc->irq_periodic); in mpc5121_rtc_probe()
351 ka = in_be32(&rtc->regs->keep_alive); in mpc5121_rtc_probe()
355 out_be32(&rtc->regs->keep_alive, ka); in mpc5121_rtc_probe()
358 rtc->rtc = devm_rtc_device_register(&op->dev, "mpc5121-rtc", in mpc5121_rtc_probe()
361 rtc->rtc = devm_rtc_device_register(&op->dev, "mpc5200-rtc", in mpc5121_rtc_probe()
365 if (IS_ERR(rtc->rtc)) { in mpc5121_rtc_probe()
366 err = PTR_ERR(rtc->rtc); in mpc5121_rtc_probe()
369 rtc->rtc->uie_unsupported = 1; in mpc5121_rtc_probe()
374 free_irq(rtc->irq_periodic, &op->dev); in mpc5121_rtc_probe()
376 irq_dispose_mapping(rtc->irq_periodic); in mpc5121_rtc_probe()
377 free_irq(rtc->irq, &op->dev); in mpc5121_rtc_probe()
379 irq_dispose_mapping(rtc->irq); in mpc5121_rtc_probe()
380 iounmap(rtc->regs); in mpc5121_rtc_probe()
387 struct mpc5121_rtc_data *rtc = platform_get_drvdata(op); in mpc5121_rtc_remove() local
388 struct mpc5121_rtc_regs __iomem *regs = rtc->regs; in mpc5121_rtc_remove()
394 iounmap(rtc->regs); in mpc5121_rtc_remove()
395 free_irq(rtc->irq, &op->dev); in mpc5121_rtc_remove()
396 free_irq(rtc->irq_periodic, &op->dev); in mpc5121_rtc_remove()
397 irq_dispose_mapping(rtc->irq); in mpc5121_rtc_remove()
398 irq_dispose_mapping(rtc->irq_periodic); in mpc5121_rtc_remove()