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: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210110231752.1418816-9-alexandre.belloni@bootlin.com
This commit is contained in:
parent
25cbe9c8d9
commit
d4eaffe28b
@ -307,14 +307,6 @@ static int pcf85063_ioctl(struct device *dev, unsigned int cmd,
|
||||
}
|
||||
|
||||
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,
|
||||
.set_time = pcf85063_rtc_set_time,
|
||||
.read_offset = pcf85063_read_offset,
|
||||
@ -587,6 +579,7 @@ static int pcf85063_probe(struct i2c_client *client)
|
||||
pcf85063->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
|
||||
pcf85063->rtc->range_max = RTC_TIMESTAMP_END_2099;
|
||||
pcf85063->rtc->uie_unsupported = 1;
|
||||
clear_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
|
||||
|
||||
if (config->has_alarms && client->irq > 0) {
|
||||
err = devm_request_threaded_irq(&client->dev, client->irq,
|
||||
@ -597,7 +590,7 @@ static int pcf85063_probe(struct i2c_client *client)
|
||||
dev_warn(&pcf85063->rtc->dev,
|
||||
"unable to request IRQ, alarms disabled\n");
|
||||
} else {
|
||||
pcf85063->rtc->ops = &pcf85063_rtc_ops_alarm;
|
||||
set_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
|
||||
device_init_wakeup(&client->dev, true);
|
||||
err = dev_pm_set_wake_irq(&client->dev, client->irq);
|
||||
if (err)
|
||||
|
Loading…
Reference in New Issue
Block a user