linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] soc: fsl: rcpm: Add ACPI support
@ 2020-09-15 11:06 kuldip dwivedi
  2020-09-15 11:10 ` Ard Biesheuvel
  2020-09-16  1:21 ` Ran Wang
  0 siblings, 2 replies; 7+ messages in thread
From: kuldip dwivedi @ 2020-09-15 11:06 UTC (permalink / raw)
  To: Li Yang, linuxppc-dev, linux-arm-kernel, linux-kernel
  Cc: Biwen Li, Samer El-Haj-Mahmoud, Ran Wang, Paul Yang,
	kuldip dwivedi, Varun Sethi, Ard Biesheuvel, tanveer,
	Arokia Samy

Add ACPI support in fsl RCPM driver. This is required
to support ACPI S3 state. S3 is the ACPI sleep state
that is known as "sleep" or "suspend to RAM".
It essentially turns off most power of the system but
keeps memory powered.

Signed-off-by: tanveer <tanveer.alam@puresoftware.com>
Signed-off-by: kuldip dwivedi <kuldip.dwivedi@puresoftware.com>
---

Notes:
    1. Add ACPI match table
    2. NXP team members are added for confirming HID changes
    3. There is only one node in ACPI so no need to check for
       current device explicitly
    4. These changes are tested on LX2160A and LS1046A platforms

 drivers/soc/fsl/rcpm.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/soc/fsl/rcpm.c b/drivers/soc/fsl/rcpm.c
index a093dbe6d2cb..e75a436fb159 100644
--- a/drivers/soc/fsl/rcpm.c
+++ b/drivers/soc/fsl/rcpm.c
@@ -2,10 +2,12 @@
 //
 // rcpm.c - Freescale QorIQ RCPM driver
 //
-// Copyright 2019 NXP
+// Copyright 2019-2020 NXP
+// Copyright 2020 Puresoftware Ltd.
 //
 // Author: Ran Wang <ran.wang_1@nxp.com>
 
+#include <linux/acpi.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
@@ -57,8 +59,13 @@ static int rcpm_pm_prepare(struct device *dev)
 				rcpm->wakeup_cells + 1);
 
 		/*  Wakeup source should refer to current rcpm device */
-		if (ret || (np->phandle != value[0]))
-			continue;
+		if (is_acpi_node(dev->fwnode)) {
+			if (ret)
+				continue;
+		} else {
+			if (ret || (np->phandle != value[0]))
+				continue;
+		}
 
 		/* Property "#fsl,rcpm-wakeup-cells" of rcpm node defines the
 		 * number of IPPDEXPCR register cells, and "fsl,rcpm-wakeup"
@@ -139,10 +146,19 @@ static const struct of_device_id rcpm_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, rcpm_of_match);
 
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id rcpm_acpi_match[] = {
+	{ "NXP0015", },
+	{ }
+};
+MODULE_DEVICE_TABLE(acpi, rcpm_acpi_match);
+#endif
+
 static struct platform_driver rcpm_driver = {
 	.driver = {
 		.name = "rcpm",
 		.of_match_table = rcpm_of_match,
+		.acpi_match_table = ACPI_PTR(rcpm_acpi_match),
 		.pm	= &rcpm_pm_ops,
 	},
 	.probe = rcpm_probe,
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-09-22 23:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 11:06 [PATCH v1] soc: fsl: rcpm: Add ACPI support kuldip dwivedi
2020-09-15 11:10 ` Ard Biesheuvel
2020-09-16  1:32   ` Ran Wang
2020-09-16  6:10     ` Ard Biesheuvel
2020-09-16  6:40       ` Ran Wang
2020-09-22 23:13       ` Li Yang
2020-09-16  1:21 ` Ran Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).