• Home
  • Raw
  • Download

Lines Matching refs:ldata

98 	struct pl031_local *ldata = dev_get_drvdata(dev);  in pl031_alarm_irq_enable()  local
102 writel(RTC_BIT_AI, ldata->base + RTC_ICR); in pl031_alarm_irq_enable()
104 imsc = readl(ldata->base + RTC_IMSC); in pl031_alarm_irq_enable()
107 writel(imsc | RTC_BIT_AI, ldata->base + RTC_IMSC); in pl031_alarm_irq_enable()
109 writel(imsc & ~RTC_BIT_AI, ldata->base + RTC_IMSC); in pl031_alarm_irq_enable()
172 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_stv2_read_time() local
174 pl031_stv2_time_to_tm(readl(ldata->base + RTC_DR), in pl031_stv2_read_time()
175 readl(ldata->base + RTC_YDR), tm); in pl031_stv2_read_time()
184 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_stv2_set_time() local
189 writel(bcd_year, ldata->base + RTC_YLR); in pl031_stv2_set_time()
190 writel(time, ldata->base + RTC_LR); in pl031_stv2_set_time()
198 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_stv2_read_alarm() local
201 ret = pl031_stv2_time_to_tm(readl(ldata->base + RTC_MR), in pl031_stv2_read_alarm()
202 readl(ldata->base + RTC_YMR), &alarm->time); in pl031_stv2_read_alarm()
204 alarm->pending = readl(ldata->base + RTC_RIS) & RTC_BIT_AI; in pl031_stv2_read_alarm()
205 alarm->enabled = readl(ldata->base + RTC_IMSC) & RTC_BIT_AI; in pl031_stv2_read_alarm()
212 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_stv2_set_alarm() local
223 writel(bcd_year, ldata->base + RTC_YMR); in pl031_stv2_set_alarm()
224 writel(time, ldata->base + RTC_MR); in pl031_stv2_set_alarm()
235 struct pl031_local *ldata = dev_id; in pl031_interrupt() local
239 rtcmis = readl(ldata->base + RTC_MIS); in pl031_interrupt()
241 writel(RTC_BIT_AI, ldata->base + RTC_ICR); in pl031_interrupt()
243 rtc_update_irq(ldata->rtc, 1, events); in pl031_interrupt()
253 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_read_time() local
255 rtc_time_to_tm(readl(ldata->base + RTC_DR), tm); in pl031_read_time()
263 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_set_time() local
269 writel(time, ldata->base + RTC_LR); in pl031_set_time()
276 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_read_alarm() local
278 rtc_time_to_tm(readl(ldata->base + RTC_MR), &alarm->time); in pl031_read_alarm()
280 alarm->pending = readl(ldata->base + RTC_RIS) & RTC_BIT_AI; in pl031_read_alarm()
281 alarm->enabled = readl(ldata->base + RTC_IMSC) & RTC_BIT_AI; in pl031_read_alarm()
288 struct pl031_local *ldata = dev_get_drvdata(dev); in pl031_set_alarm() local
297 writel(time, ldata->base + RTC_MR); in pl031_set_alarm()
307 struct pl031_local *ldata = dev_get_drvdata(&adev->dev); in pl031_remove() local
312 free_irq(adev->irq[0], ldata); in pl031_remove()
313 rtc_device_unregister(ldata->rtc); in pl031_remove()
314 iounmap(ldata->base); in pl031_remove()
315 kfree(ldata); in pl031_remove()
324 struct pl031_local *ldata; in pl031_probe() local
333 ldata = kzalloc(sizeof(struct pl031_local), GFP_KERNEL); in pl031_probe()
334 if (!ldata) { in pl031_probe()
338 ldata->vendor = vendor; in pl031_probe()
340 ldata->base = ioremap(adev->res.start, resource_size(&adev->res)); in pl031_probe()
342 if (!ldata->base) { in pl031_probe()
347 amba_set_drvdata(adev, ldata); in pl031_probe()
352 data = readl(ldata->base + RTC_CR); in pl031_probe()
358 writel(data, ldata->base + RTC_CR); in pl031_probe()
365 if (readl(ldata->base + RTC_YDR) == 0x2000) { in pl031_probe()
366 time = readl(ldata->base + RTC_DR); in pl031_probe()
371 writel(0x2000, ldata->base + RTC_YLR); in pl031_probe()
372 writel(time, ldata->base + RTC_LR); in pl031_probe()
378 ldata->rtc = rtc_device_register("pl031", &adev->dev, ops, in pl031_probe()
380 if (IS_ERR(ldata->rtc)) { in pl031_probe()
381 ret = PTR_ERR(ldata->rtc); in pl031_probe()
387 vendor->irqflags, "rtc-pl031", ldata); in pl031_probe()
395 rtc_device_unregister(ldata->rtc); in pl031_probe()
397 iounmap(ldata->base); in pl031_probe()
399 kfree(ldata); in pl031_probe()