Lines Matching refs:rtc

24 	struct rtc_device	*rtc;  member
30 struct pl030_rtc *rtc = dev_id; in pl030_interrupt() local
31 writel(0, rtc->base + RTC_EOI); in pl030_interrupt()
37 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_alarm() local
39 rtc_time_to_tm(readl(rtc->base + RTC_MR), &alrm->time); in pl030_read_alarm()
45 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_alarm() local
56 writel(time, rtc->base + RTC_MR); in pl030_set_alarm()
62 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_time() local
64 rtc_time_to_tm(readl(rtc->base + RTC_DR), tm); in pl030_read_time()
79 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_time() local
85 writel(time + 1, rtc->base + RTC_LR); in pl030_set_time()
99 struct pl030_rtc *rtc; in pl030_probe() local
106 rtc = devm_kzalloc(&dev->dev, sizeof(*rtc), GFP_KERNEL); in pl030_probe()
107 if (!rtc) { in pl030_probe()
112 rtc->rtc = devm_rtc_allocate_device(&dev->dev); in pl030_probe()
113 if (IS_ERR(rtc->rtc)) { in pl030_probe()
114 ret = PTR_ERR(rtc->rtc); in pl030_probe()
118 rtc->rtc->ops = &pl030_ops; in pl030_probe()
119 rtc->base = ioremap(dev->res.start, resource_size(&dev->res)); in pl030_probe()
120 if (!rtc->base) { in pl030_probe()
125 __raw_writel(0, rtc->base + RTC_CR); in pl030_probe()
126 __raw_writel(0, rtc->base + RTC_EOI); in pl030_probe()
128 amba_set_drvdata(dev, rtc); in pl030_probe()
131 "rtc-pl030", rtc); in pl030_probe()
135 ret = rtc_register_device(rtc->rtc); in pl030_probe()
142 free_irq(dev->irq[0], rtc); in pl030_probe()
144 iounmap(rtc->base); in pl030_probe()
153 struct pl030_rtc *rtc = amba_get_drvdata(dev); in pl030_remove() local
155 writel(0, rtc->base + RTC_CR); in pl030_remove()
157 free_irq(dev->irq[0], rtc); in pl030_remove()
158 iounmap(rtc->base); in pl030_remove()