Lines Matching refs:rtc
27 struct rtc_device *rtc; member
33 struct pl030_rtc *rtc = dev_id; in pl030_interrupt() local
34 writel(0, rtc->base + RTC_EOI); in pl030_interrupt()
40 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_alarm() local
42 rtc_time_to_tm(readl(rtc->base + RTC_MR), &alrm->time); in pl030_read_alarm()
48 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_alarm() local
59 writel(time, rtc->base + RTC_MR); in pl030_set_alarm()
65 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_time() local
67 rtc_time_to_tm(readl(rtc->base + RTC_DR), tm); in pl030_read_time()
82 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_time() local
88 writel(time + 1, rtc->base + RTC_LR); in pl030_set_time()
102 struct pl030_rtc *rtc; in pl030_probe() local
109 rtc = devm_kzalloc(&dev->dev, sizeof(*rtc), GFP_KERNEL); in pl030_probe()
110 if (!rtc) { in pl030_probe()
115 rtc->base = ioremap(dev->res.start, resource_size(&dev->res)); in pl030_probe()
116 if (!rtc->base) { in pl030_probe()
121 __raw_writel(0, rtc->base + RTC_CR); in pl030_probe()
122 __raw_writel(0, rtc->base + RTC_EOI); in pl030_probe()
124 amba_set_drvdata(dev, rtc); in pl030_probe()
127 "rtc-pl030", rtc); in pl030_probe()
131 rtc->rtc = rtc_device_register("pl030", &dev->dev, &pl030_ops, in pl030_probe()
133 if (IS_ERR(rtc->rtc)) { in pl030_probe()
134 ret = PTR_ERR(rtc->rtc); in pl030_probe()
141 free_irq(dev->irq[0], rtc); in pl030_probe()
143 iounmap(rtc->base); in pl030_probe()
152 struct pl030_rtc *rtc = amba_get_drvdata(dev); in pl030_remove() local
154 writel(0, rtc->base + RTC_CR); in pl030_remove()
156 free_irq(dev->irq[0], rtc); in pl030_remove()
157 rtc_device_unregister(rtc->rtc); in pl030_remove()
158 iounmap(rtc->base); in pl030_remove()