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 <nikita.shubin@xxxxxxxxxxx> --- 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