Lines Matching full:vrtc

31 static void meson_vrtc_set_wakeup_time(struct meson_vrtc_data *vrtc,  in meson_vrtc_set_wakeup_time()  argument
34 writel_relaxed(time, vrtc->io_alarm); in meson_vrtc_set_wakeup_time()
39 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_set_alarm() local
43 vrtc->alarm_time = rtc_tm_to_time64(&alarm->time); in meson_vrtc_set_alarm()
45 vrtc->alarm_time = 0; in meson_vrtc_set_alarm()
52 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_alarm_irq_enable() local
54 vrtc->enabled = enabled; in meson_vrtc_alarm_irq_enable()
66 struct meson_vrtc_data *vrtc; in meson_vrtc_probe() local
69 vrtc = devm_kzalloc(&pdev->dev, sizeof(*vrtc), GFP_KERNEL); in meson_vrtc_probe()
70 if (!vrtc) in meson_vrtc_probe()
73 vrtc->io_alarm = devm_platform_ioremap_resource(pdev, 0); in meson_vrtc_probe()
74 if (IS_ERR(vrtc->io_alarm)) in meson_vrtc_probe()
75 return PTR_ERR(vrtc->io_alarm); in meson_vrtc_probe()
79 platform_set_drvdata(pdev, vrtc); in meson_vrtc_probe()
91 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_suspend() local
94 if (vrtc->alarm_time) { in meson_vrtc_suspend()
103 vrtc->alarm_time, local_time); in meson_vrtc_suspend()
104 alarm_secs = vrtc->alarm_time - local_time; in meson_vrtc_suspend()
106 meson_vrtc_set_wakeup_time(vrtc, alarm_secs); in meson_vrtc_suspend()
120 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev); in meson_vrtc_resume() local
124 vrtc->alarm_time = 0; in meson_vrtc_resume()
125 meson_vrtc_set_wakeup_time(vrtc, 0); in meson_vrtc_resume()
133 { .compatible = "amlogic,meson-vrtc"},
141 .name = "meson-vrtc",