Messages in this thread | | | Date | Thu, 18 Nov 2021 10:33:34 +0100 | From | Alexandre Belloni <> | Subject | Re: [PATCH RESEND] rtc: da9063: add as wakeup source |
| |
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@maquefel.me> > --- > 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
| |