Thread (4 messages) flat view 4 messages, 2 authors, 2021-04-07

RE: [PATCH v6] soc: fsl: enable acpi support in RCPM driver

From: Leo Li <hidden>
Date: 2021-04-07 03:38:53
Also in: linux-arm-kernel, lkml

-----Original Message-----
From: Ran Wang <redacted>
Sent: Tuesday, April 6, 2021 8:32 PM
To: Leo Li <redacted>
Cc: Christophe Leroy <redacted>; linuxppc-dev
[off-list ref]; moderated list:ARM/FREESCALE IMX / MXC
ARM ARCHITECTURE [off-list ref]; lkml <linux-
kernel@vger.kernel.org>
Subject: RE: [PATCH v6] soc: fsl: enable acpi support in RCPM driver

Hi Leo,

On Wednesday, April 7, 2021 5:45 AM, Li Yang wrote:
quoted
On Fri, Mar 12, 2021 at 2:56 AM Ran Wang [off-list ref] wrote:
quoted
From: Peng Ma <redacted>

This patch enables ACPI support in RCPM driver.

Signed-off-by: Peng Ma <redacted>
Signed-off-by: Ran Wang <redacted>
---
Change in v6:
 - Remove copyright udpate to rebase on latest mainline

Change in v5:
 - Fix panic when dev->of_node is null

Change in v4:
 - Make commit subject more accurate
 - Remove unrelated new blank line

Change in v3:
 - Add #ifdef CONFIG_ACPI for acpi_device_id
 - Rename rcpm_acpi_imx_ids to rcpm_acpi_ids

Change in v2:
 - Update acpi_device_id to fix conflict with other driver

 drivers/soc/fsl/rcpm.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/soc/fsl/rcpm.c b/drivers/soc/fsl/rcpm.c index
4ace28cab314..7aa997b932d1 100644
--- a/drivers/soc/fsl/rcpm.c
+++ b/drivers/soc/fsl/rcpm.c
@@ -13,6 +13,7 @@
 #include <linux/slab.h>
 #include <linux/suspend.h>
 #include <linux/kernel.h>
+#include <linux/acpi.h>

 #define RCPM_WAKEUP_CELL_MAX_SIZE      7
@@ -78,10 +79,14 @@ static int rcpm_pm_prepare(struct device *dev)
                                "fsl,rcpm-wakeup", value,
                                rcpm->wakeup_cells + 1);

-               /*  Wakeup source should refer to current rcpm device */
-               if (ret || (np->phandle != value[0]))
+               if (ret)
                        continue;

+               if (is_of_node(dev->fwnode))
+                       /*  Should refer to current rcpm device */
Better to be /* Only handle devices with fsl,rcpm-wakeup pointing to the current rcpm node*/
quoted
quoted
+                       if (np->phandle != value[0])
+                               continue;
It looks like that we assume that in the ACPI scenario there will only
be one RCPM controller and all devices are controlled by this single
PM controller.  This probably is true for all existing SoCs with a RCPM.  But
since the driver tried to support multiple RCPMs, maybe we should continue
to support multiple RCPM controllers or at least mention that in the
comment.

How about adding some comment as below:

/* For ACPI mode, currently we assume there is only one RCPM controller
existing */
Ok.  On the other hand, it will be clearer to update the existing comment above.
Regards,
Ran
quoted
quoted
+
                /* Property "#fsl,rcpm-wakeup-cells" of rcpm node defines the
                 * number of IPPDEXPCR register cells, and "fsl,rcpm-wakeup"
                 * of wakeup source IP contains an integer array:
<phandle to @@ -172,10 +177,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_ids[] = {
+       {"NXP0015",},
+       { }
+};
+MODULE_DEVICE_TABLE(acpi, rcpm_acpi_ids); #endif
+
 static struct platform_driver rcpm_driver = {
        .driver = {
                .name = "rcpm",
                .of_match_table = rcpm_of_match,
+               .acpi_match_table = ACPI_PTR(rcpm_acpi_ids),
                .pm     = &rcpm_pm_ops,
        },
        .probe = rcpm_probe,
--
2.25.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help