rtc: armada38x: remove armada38x_rtc_ops_noirq
Clear RTC_FEATURE_ALARM to signal that alarms are not available instead of having a supplementary struct rtc_class_ops with a NULL .set_alarm. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210110231752.1418816-4-alexandre.belloni@bootlin.com
This commit is contained in:
Родитель
d9b0dd54a1
Коммит
95151801ed
|
@ -458,14 +458,6 @@ static const struct rtc_class_ops armada38x_rtc_ops = {
|
|||
.set_offset = armada38x_rtc_set_offset,
|
||||
};
|
||||
|
||||
static const struct rtc_class_ops armada38x_rtc_ops_noirq = {
|
||||
.read_time = armada38x_rtc_read_time,
|
||||
.set_time = armada38x_rtc_set_time,
|
||||
.read_alarm = armada38x_rtc_read_alarm,
|
||||
.read_offset = armada38x_rtc_read_offset,
|
||||
.set_offset = armada38x_rtc_set_offset,
|
||||
};
|
||||
|
||||
static const struct armada38x_rtc_data armada38x_data = {
|
||||
.update_mbus_timing = rtc_update_38x_mbus_timing_params,
|
||||
.read_rtc_reg = read_rtc_register_38x_wa,
|
||||
|
@ -540,20 +532,15 @@ static __init int armada38x_rtc_probe(struct platform_device *pdev)
|
|||
}
|
||||
platform_set_drvdata(pdev, rtc);
|
||||
|
||||
if (rtc->irq != -1) {
|
||||
if (rtc->irq != -1)
|
||||
device_init_wakeup(&pdev->dev, 1);
|
||||
rtc->rtc_dev->ops = &armada38x_rtc_ops;
|
||||
} else {
|
||||
/*
|
||||
* If there is no interrupt available then we can't
|
||||
* use the alarm
|
||||
*/
|
||||
rtc->rtc_dev->ops = &armada38x_rtc_ops_noirq;
|
||||
}
|
||||
else
|
||||
clear_bit(RTC_FEATURE_ALARM, rtc->rtc_dev->features);
|
||||
|
||||
/* Update RTC-MBUS bridge timing parameters */
|
||||
rtc->data->update_mbus_timing(rtc);
|
||||
|
||||
rtc->rtc_dev->ops = &armada38x_rtc_ops;
|
||||
rtc->rtc_dev->range_max = U32_MAX;
|
||||
|
||||
return devm_rtc_register_device(rtc->rtc_dev);
|
||||
|
|
Загрузка…
Ссылка в новой задаче