Lines Matching defs:vrtc
32 static void meson_vrtc_set_wakeup_time(struct meson_vrtc_data *vrtc,
35 writel_relaxed(time, vrtc->io_alarm);
40 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev);
44 vrtc->alarm_time = rtc_tm_to_time64(&alarm->time);
46 vrtc->alarm_time = 0;
53 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev);
55 vrtc->enabled = enabled;
67 struct meson_vrtc_data *vrtc;
69 vrtc = devm_kzalloc(&pdev->dev, sizeof(*vrtc), GFP_KERNEL);
70 if (!vrtc)
73 vrtc->io_alarm = devm_platform_ioremap_resource(pdev, 0);
74 if (IS_ERR(vrtc->io_alarm))
75 return PTR_ERR(vrtc->io_alarm);
79 platform_set_drvdata(pdev, vrtc);
81 vrtc->rtc = devm_rtc_allocate_device(&pdev->dev);
82 if (IS_ERR(vrtc->rtc))
83 return PTR_ERR(vrtc->rtc);
85 vrtc->rtc->ops = &meson_vrtc_ops;
86 return devm_rtc_register_device(vrtc->rtc);
91 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev);
94 if (vrtc->alarm_time) {
103 vrtc->alarm_time, local_time);
104 alarm_secs = vrtc->alarm_time - local_time;
106 meson_vrtc_set_wakeup_time(vrtc, alarm_secs);
120 struct meson_vrtc_data *vrtc = dev_get_drvdata(dev);
124 vrtc->alarm_time = 0;
125 meson_vrtc_set_wakeup_time(vrtc, 0);
133 { .compatible = "amlogic,meson-vrtc"},
141 .name = "meson-vrtc",