Commit 454ba154 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Alexandre Belloni

rtc: tps65910: Support wakeup-source property

TPS65910 is a PMIC MFD device and RTC is one of its functions. The
wakeup-source DT property is specified for the parent MFD device and we
need to use this property for the RTC in order to allow to use RTC alarm
for waking up system from suspend by default, instead of requiring user
to enable wakeup manually via sysfs.
Tested-by: default avatarPeter Geis <pgwipeout@gmail.com>
Tested-by: default avatarMatt Merhar <mattmerhar@protonmail.com>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210120211603.18555-1-digetx@gmail.com
parent f66e7f2d
...@@ -418,10 +418,14 @@ static int tps65910_rtc_probe(struct platform_device *pdev) ...@@ -418,10 +418,14 @@ static int tps65910_rtc_probe(struct platform_device *pdev)
irq = -1; irq = -1;
tps_rtc->irq = irq; tps_rtc->irq = irq;
if (irq != -1) if (irq != -1) {
device_set_wakeup_capable(&pdev->dev, 1); if (device_property_present(tps65910->dev, "wakeup-source"))
device_init_wakeup(&pdev->dev, 1);
else else
device_set_wakeup_capable(&pdev->dev, 1);
} else {
clear_bit(RTC_FEATURE_ALARM, tps_rtc->rtc->features); clear_bit(RTC_FEATURE_ALARM, tps_rtc->rtc->features);
}
tps_rtc->rtc->ops = &tps65910_rtc_ops; tps_rtc->rtc->ops = &tps65910_rtc_ops;
tps_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; tps_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
......
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