Commit 95151801 authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

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: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210110231752.1418816-4-alexandre.belloni@bootlin.com
parent d9b0dd54
Loading
Loading
Loading
Loading
+4 −17
Original line number Diff line number Diff line
@@ -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);