in case if threaded irq registered successfully - add da9063
as a wakeup source if "wakeup-source" node present in device tree,
set as wakeup capable otherwise.
Signed-off-by: Nikita Shubin <[email protected]>
---
drivers/rtc/rtc-da9063.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/rtc/rtc-da9063.c b/drivers/rtc/rtc-da9063.c
index d4b72a9fa2ba..1aceb5ba6992 100644
--- a/drivers/rtc/rtc-da9063.c
+++ b/drivers/rtc/rtc-da9063.c
@@ -490,7 +490,15 @@ static int da9063_rtc_probe(struct platform_device *pdev)
da9063_alarm_event,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
"ALARM", rtc);
- if (ret)
+ if (!ret) {
+ if (device_property_present(&pdev->dev, "wakeup-source")) {
+ device_init_wakeup(&pdev->dev, true);
+ dev_info(&pdev->dev, "registered as wakeup source.\n");
+ } else {
+ device_set_wakeup_capable(&pdev->dev, true);
+ dev_info(&pdev->dev, "marked as wakeup capable.\n");
+ }
+ } else
dev_err(&pdev->dev, "Failed to request ALARM IRQ %d: %d\n",
irq_alarm, ret);
--
2.31.1