Re: [PATCH] rtc: rtc-pm8xxx: control default alarm wake up capability

From: Alexandre Belloni
Date: Thu Aug 03 2023 - 09:44:21 EST


On 03/08/2023 19:01:51+0530, Anvesh Jain P wrote:
>
>
> On 8/2/2023 1:04 AM, Alexandre Belloni wrote:
> > On 01/08/2023 18:18:46+0530, Anvesh Jain P wrote:
> > > In automotive systems, RTC should not wake up the device when it is parked
> > > or when it is garage to avoid leakage current. providing a control from
> > > device tree to avoid RTC wake up based on the use case is reason for this
> > > patch.
> > >
> >
> > Then simply avoid providing an IRQ or setting an alarm.
> The purpose of the change is just to block alarms/notifications waking up
> the target when it is in Suspend2ram(low power) mode.
> if we disable IRQ, alarms/notifications won't come even when the target is
> in active mode.
> This change will just stop the wake up capability of the alarm when target
> is in suspend 2 ram mode based on flag passed from device tree.
> Use case of this patch is,
> In mobile targets where alarms / notifications will need to wake up the
> target when there is a reminder as per user expectation.
> where as in automotive targets, when driver is not in Car and target is in
> suspend state, alarms/notifications would have no meaning and waking up the
> target of no use as there is no user to attend the message. hence blocking
> them in automotive use cases based on device tree is the use of this patch.

Simply remove the alarm before going to suspend, this is a userspace
policy, it has nothing to do in the device or kernel.

> >
> > > On 8/1/2023 6:10 PM, Alexandre Belloni wrote:
> > > > On 01/08/2023 17:15:49+0530, Anvesh Jain P wrote:
> > > > > Enable & disable rtc alarm wake up capability based on
> > > > > default parameter passed from device tree.
> > > > >
> > > >
> > > > I see what you are doing but not why this is necessary, NAK.
> > > >
> > > > > Signed-off-by: Venkata Rao Kakani <quic_vkakani@xxxxxxxxxxx>
> > > > > Signed-off-by: Anvesh Jain P <quic_ajainp@xxxxxxxxxxx>
> > > > > ---
> > > > > drivers/rtc/rtc-pm8xxx.c | 3 +++
> > > > > 1 file changed, 3 insertions(+)
> > > > >
> > > > > diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c
> > > > > index f6b779c12ca7..bed57be602b6 100644
> > > > > --- a/drivers/rtc/rtc-pm8xxx.c
> > > > > +++ b/drivers/rtc/rtc-pm8xxx.c
> > > > > @@ -523,6 +523,9 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
> > > > > if (rc)
> > > > > return rc;
> > > > > + if (of_property_read_bool(pdev->dev.of_node, "disable-alarm-wakeup"))
> > > > > + device_set_wakeup_capable(&pdev->dev, false);
> > > > > +
> > > > > rc = dev_pm_set_wake_irq(&pdev->dev, rtc_dd->alarm_irq);
> > > > > if (rc)
> > > > > return rc;
> > > > >
> > > > > base-commit: 0a8db05b571ad5b8d5c8774a004c0424260a90bd
> > > > > --
> > > > > 2.17.1
> > > > >
> > > >
> >

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com