Lines Matching defs:rtc
12 #include <linux/rtc.h>
80 struct rtc_device *rtc;
105 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
106 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
127 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
128 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
149 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
150 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
176 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
177 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
198 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
199 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
201 *alarm = rtc->wkalarm;
210 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
211 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
236 rtc->wkalarm = *alarm;
242 struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev);
243 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
250 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
259 struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev);
260 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
266 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_UF);
276 struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
277 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
286 rtc->wkalarm.enabled = val;
309 struct mpc5121_rtc_data *rtc;
312 rtc = devm_kzalloc(&op->dev, sizeof(*rtc), GFP_KERNEL);
313 if (!rtc)
316 rtc->regs = devm_platform_ioremap_resource(op, 0);
317 if (IS_ERR(rtc->regs)) {
319 return PTR_ERR(rtc->regs);
324 platform_set_drvdata(op, rtc);
326 rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
327 err = devm_request_irq(&op->dev, rtc->irq, mpc5121_rtc_handler, 0,
328 "mpc5121-rtc", &op->dev);
331 __func__, rtc->irq);
335 rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
336 err = devm_request_irq(&op->dev, rtc->irq_periodic,
341 __func__, rtc->irq_periodic);
345 rtc->rtc = devm_rtc_allocate_device(&op->dev);
346 if (IS_ERR(rtc->rtc)) {
347 err = PTR_ERR(rtc->rtc);
351 rtc->rtc->ops = &mpc5200_rtc_ops;
352 rtc->rtc->uie_unsupported = 1;
353 rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
354 rtc->rtc->range_max = 65733206399ULL; /* 4052-12-31 23:59:59 */
356 if (of_device_is_compatible(op->dev.of_node, "fsl,mpc5121-rtc")) {
358 ka = in_be32(&rtc->regs->keep_alive);
361 "mpc5121-rtc: Battery or oscillator failure!\n");
362 out_be32(&rtc->regs->keep_alive, ka);
364 rtc->rtc->ops = &mpc5121_rtc_ops;
370 rtc->rtc->range_min = 0;
371 rtc->rtc->range_max = U32_MAX;
374 err = rtc_register_device(rtc->rtc);
381 irq_dispose_mapping(rtc->irq_periodic);
383 irq_dispose_mapping(rtc->irq);
390 struct mpc5121_rtc_data *rtc = platform_get_drvdata(op);
391 struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
397 irq_dispose_mapping(rtc->irq);
398 irq_dispose_mapping(rtc->irq_periodic);
405 { .compatible = "fsl,mpc5121-rtc", },
406 { .compatible = "fsl,mpc5200-rtc", },
414 .name = "mpc5121-rtc",