Re: [PATCH RESEND] rtc: da9063: add as wakeup source
From: Alexandre Belloni
Date: Thu Nov 18 2021 - 04:34:01 EST
Hello,
On 18/11/2021 11:40:08+0300, Nikita Shubin wrote:
> 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);
If wakeup-source is present, then this should be done regardless of the
registration of the interrupt handler. Note that wakeup-source and
interrupt are supposed to be mutually exclusive.
> + dev_info(&pdev->dev, "registered as wakeup source.\n");
This is too verbose please avoid adding new strings
> + } else {
> + device_set_wakeup_capable(&pdev->dev, true);
I think this is misusing the wakeup-source property for configuration
that should be left to userspace.
> + dev_info(&pdev->dev, "marked as wakeup capable.\n");
Ditto
> + }
> + } else
unbalanced brackets
> dev_err(&pdev->dev, "Failed to request ALARM IRQ %d: %d\n",
> irq_alarm, ret);
>
> --
> 2.31.1
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com