rtc: da9063: add as wakeup source
authorNikita Shubin <nikita.shubin@maquefel.me>
Mon, 29 Nov 2021 07:26:49 +0000 (10:26 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 2 Dec 2021 22:23:38 +0000 (23:23 +0100)
As da9063 RTC is not a real I2C client, but relies on da9063 MFD
driver, we need to explicitly mark da9063 RTC as a wakeup source
to be able to access class/rtc/rtcN/wakealarm sysfs entry
to set alarms, so we can wakeup from SHUTDOWN/RTC/DELIVERY mode.

As da9063 driver refuses to load without irq, we simply add it
as a wakeup source before registering rtc device.

Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20211129072650.22686-1-nikita.shubin@maquefel.me
drivers/rtc/rtc-da9063.c

index 54a5e244946be406f5c59a68a16ab863d4f82841..ee2efb4961744b77942e98f984ea08403dba5c33 100644 (file)
@@ -496,6 +496,8 @@ static int da9063_rtc_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "Failed to request ALARM IRQ %d: %d\n",
                        irq_alarm, ret);
 
+       device_init_wakeup(&pdev->dev, true);
+
        return devm_rtc_register_device(rtc->rtc_dev);
 }