summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiam Beguin <lvb@xiphos.com>2021-04-08 05:40:28 +0300
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2021-04-17 01:07:16 +0300
commitc52409eb16672907804b7acf1658bb1fd9dcb426 (patch)
tree0e601fdc0e7a375fa62d59e86dcc51f3fb95ed60
parente70e52e1bf1d6d0ea60e2f8294d5e76a8d8f5370 (diff)
downloadlinux-c52409eb16672907804b7acf1658bb1fd9dcb426.tar.xz
rtc: ab-eoz9: make use of RTC_FEATURE_ALARM
Move the alarm callbacks in rtc_ops and use RTC_FEATURE_ALARM to notify the core whether alarm capabilities are available or not. Signed-off-by: Liam Beguin <lvb@xiphos.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210408024028.3526564-4-liambeguin@gmail.com
-rw-r--r--drivers/rtc/rtc-ab-eoz9.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-ab-eoz9.c b/drivers/rtc/rtc-ab-eoz9.c
index 7dc96fabc76f..a9b355510cd4 100644
--- a/drivers/rtc/rtc-ab-eoz9.c
+++ b/drivers/rtc/rtc-ab-eoz9.c
@@ -369,11 +369,6 @@ static int abeoz9_rtc_setup(struct device *dev, struct device_node *node)
static const struct rtc_class_ops rtc_ops = {
.read_time = abeoz9_rtc_get_time,
- .set_time = abeoz9_rtc_set_time,
-};
-
-static const struct rtc_class_ops rtc_alarm_ops = {
- .read_time = abeoz9_rtc_get_time,
.set_time = abeoz9_rtc_set_time,
.read_alarm = abeoz9_rtc_read_alarm,
.set_alarm = abeoz9_rtc_set_alarm,
@@ -540,6 +535,7 @@ static int abeoz9_probe(struct i2c_client *client,
data->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
data->rtc->range_max = RTC_TIMESTAMP_END_2099;
data->rtc->uie_unsupported = 1;
+ clear_bit(RTC_FEATURE_ALARM, data->rtc->features);
if (client->irq > 0) {
ret = devm_request_threaded_irq(dev, client->irq, NULL,
@@ -554,7 +550,7 @@ static int abeoz9_probe(struct i2c_client *client,
if (client->irq > 0 || device_property_read_bool(dev, "wakeup-source")) {
ret = device_init_wakeup(dev, true);
- data->rtc->ops = &rtc_alarm_ops;
+ set_bit(RTC_FEATURE_ALARM, data->rtc->features);
}
ret = devm_rtc_register_device(data->rtc);