Commit d4eaffe2 authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: pcf85063: remove pcf85063_rtc_ops_alarm

Move the alarm callbacks in pcf85063_rtc_ops and use RTC_FEATURE_ALARM to
signal to the core whether alarms are available instead of having a
supplementary struct rtc_class_ops without alarm callbacks.
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210110231752.1418816-9-alexandre.belloni@bootlin.com
parent 25cbe9c8
...@@ -307,14 +307,6 @@ static int pcf85063_ioctl(struct device *dev, unsigned int cmd, ...@@ -307,14 +307,6 @@ static int pcf85063_ioctl(struct device *dev, unsigned int cmd,
} }
static const struct rtc_class_ops pcf85063_rtc_ops = { static const struct rtc_class_ops pcf85063_rtc_ops = {
.read_time = pcf85063_rtc_read_time,
.set_time = pcf85063_rtc_set_time,
.read_offset = pcf85063_read_offset,
.set_offset = pcf85063_set_offset,
.ioctl = pcf85063_ioctl,
};
static const struct rtc_class_ops pcf85063_rtc_ops_alarm = {
.read_time = pcf85063_rtc_read_time, .read_time = pcf85063_rtc_read_time,
.set_time = pcf85063_rtc_set_time, .set_time = pcf85063_rtc_set_time,
.read_offset = pcf85063_read_offset, .read_offset = pcf85063_read_offset,
...@@ -587,6 +579,7 @@ static int pcf85063_probe(struct i2c_client *client) ...@@ -587,6 +579,7 @@ static int pcf85063_probe(struct i2c_client *client)
pcf85063->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; pcf85063->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
pcf85063->rtc->range_max = RTC_TIMESTAMP_END_2099; pcf85063->rtc->range_max = RTC_TIMESTAMP_END_2099;
pcf85063->rtc->uie_unsupported = 1; pcf85063->rtc->uie_unsupported = 1;
clear_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
if (config->has_alarms && client->irq > 0) { if (config->has_alarms && client->irq > 0) {
err = devm_request_threaded_irq(&client->dev, client->irq, err = devm_request_threaded_irq(&client->dev, client->irq,
...@@ -597,7 +590,7 @@ static int pcf85063_probe(struct i2c_client *client) ...@@ -597,7 +590,7 @@ static int pcf85063_probe(struct i2c_client *client)
dev_warn(&pcf85063->rtc->dev, dev_warn(&pcf85063->rtc->dev,
"unable to request IRQ, alarms disabled\n"); "unable to request IRQ, alarms disabled\n");
} else { } else {
pcf85063->rtc->ops = &pcf85063_rtc_ops_alarm; set_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
device_init_wakeup(&client->dev, true); device_init_wakeup(&client->dev, true);
err = dev_pm_set_wake_irq(&client->dev, client->irq); err = dev_pm_set_wake_irq(&client->dev, client->irq);
if (err) if (err)
......
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