Commit 50f97e91 authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: opal: constify opal_rtc_ops

Use RTC_FEATURE_ALARM to signal to the core whether alarms are available
instead of changing the global struct rtc_class_ops, allowing to make it
const.
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210110231752.1418816-13-alexandre.belloni@bootlin.com
parent 3948a866
...@@ -224,9 +224,12 @@ static int opal_tpo_alarm_irq_enable(struct device *dev, unsigned int enabled) ...@@ -224,9 +224,12 @@ static int opal_tpo_alarm_irq_enable(struct device *dev, unsigned int enabled)
return enabled ? 0 : opal_set_tpo_time(dev, &alarm); return enabled ? 0 : opal_set_tpo_time(dev, &alarm);
} }
static struct rtc_class_ops opal_rtc_ops = { static const struct rtc_class_ops opal_rtc_ops = {
.read_time = opal_get_rtc_time, .read_time = opal_get_rtc_time,
.set_time = opal_set_rtc_time, .set_time = opal_set_rtc_time,
.read_alarm = opal_get_tpo_time,
.set_alarm = opal_set_tpo_time,
.alarm_irq_enable = opal_tpo_alarm_irq_enable,
}; };
static int opal_rtc_probe(struct platform_device *pdev) static int opal_rtc_probe(struct platform_device *pdev)
...@@ -239,12 +242,10 @@ static int opal_rtc_probe(struct platform_device *pdev) ...@@ -239,12 +242,10 @@ static int opal_rtc_probe(struct platform_device *pdev)
if (pdev->dev.of_node && if (pdev->dev.of_node &&
(of_property_read_bool(pdev->dev.of_node, "wakeup-source") || (of_property_read_bool(pdev->dev.of_node, "wakeup-source") ||
of_property_read_bool(pdev->dev.of_node, "has-tpo")/* legacy */)) { of_property_read_bool(pdev->dev.of_node, "has-tpo")/* legacy */))
device_set_wakeup_capable(&pdev->dev, true); device_set_wakeup_capable(&pdev->dev, true);
opal_rtc_ops.read_alarm = opal_get_tpo_time; else
opal_rtc_ops.set_alarm = opal_set_tpo_time; clear_bit(RTC_FEATURE_ALARM, rtc->features);
opal_rtc_ops.alarm_irq_enable = opal_tpo_alarm_irq_enable;
}
rtc->ops = &opal_rtc_ops; rtc->ops = &opal_rtc_ops;
rtc->range_min = RTC_TIMESTAMP_BEGIN_0000; rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment