Lines Matching refs:vrtc

32 static void meson_vrtc_set_wakeup_time(struct meson_vrtc_data *vrtc,  in meson_vrtc_set_wakeup_time()  argument
35 writel_relaxed(time, vrtc->io_alarm); in meson_vrtc_set_wakeup_time()
40 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_set_alarm() local
44 vrtc->alarm_time = rtc_tm_to_time64(&alarm->time); in meson_vrtc_set_alarm()
46 vrtc->alarm_time = 0; in meson_vrtc_set_alarm()
53 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_alarm_irq_enable() local
55 vrtc->enabled = enabled; in meson_vrtc_alarm_irq_enable()
67 struct meson_vrtc_data *vrtc; in meson_vrtc_probe() local
70 vrtc = devm_kzalloc(&pdev->dev, sizeof(*vrtc), GFP_KERNEL); in meson_vrtc_probe()
71 if (!vrtc) in meson_vrtc_probe()
74 vrtc->io_alarm = devm_platform_ioremap_resource(pdev, 0); in meson_vrtc_probe()
75 if (IS_ERR(vrtc->io_alarm)) in meson_vrtc_probe()
76 return PTR_ERR(vrtc->io_alarm); in meson_vrtc_probe()
80 platform_set_drvdata(pdev, vrtc); in meson_vrtc_probe()
82 vrtc->rtc = devm_rtc_allocate_device(&pdev->dev); in meson_vrtc_probe()
83 if (IS_ERR(vrtc->rtc)) in meson_vrtc_probe()
84 return PTR_ERR(vrtc->rtc); in meson_vrtc_probe()
86 vrtc->rtc->ops = &meson_vrtc_ops; in meson_vrtc_probe()
87 ret = rtc_register_device(vrtc->rtc); in meson_vrtc_probe()
96 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_suspend() local
99 if (vrtc->alarm_time) { in meson_vrtc_suspend()
108 vrtc->alarm_time, local_time); in meson_vrtc_suspend()
109 alarm_secs = vrtc->alarm_time - local_time; in meson_vrtc_suspend()
111 meson_vrtc_set_wakeup_time(vrtc, alarm_secs); in meson_vrtc_suspend()
125 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_resume() local
129 vrtc->alarm_time = 0; in meson_vrtc_resume()
130 meson_vrtc_set_wakeup_time(vrtc, 0); in meson_vrtc_resume()