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

From: Anvesh Jain P
Date: Thu Aug 03 2023 - 09:33:56 EST




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.

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