ARM: imx: Add missing of_node_put()
authorAnson Huang <Anson.Huang@nxp.com>
Thu, 13 Feb 2020 08:35:33 +0000 (16:35 +0800)
committerShawn Guo <shawnguo@kernel.org>
Tue, 18 Feb 2020 09:46:08 +0000 (17:46 +0800)
After finishing using device node got from of_find_compatible_node(),
of_node_put() needs to be called.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/mach-imx/anatop.c
arch/arm/mach-imx/gpc.c
arch/arm/mach-imx/platsmp.c
arch/arm/mach-imx/pm-imx6.c
arch/arm/mach-imx/pm-imx7ulp.c

index 8fb68c0..ea4a596 100644 (file)
@@ -94,7 +94,7 @@ void imx_anatop_post_resume(void)
 
 void __init imx_init_revision_from_anatop(void)
 {
-       struct device_node *np;
+       struct device_node *np, *src_np;
        void __iomem *anatop_base;
        unsigned int revision;
        u32 digprog;
@@ -135,9 +135,10 @@ void __init imx_init_revision_from_anatop(void)
                        void __iomem *src_base;
                        u32 sbmr2;
 
-                       np = of_find_compatible_node(NULL, NULL,
+                       src_np = of_find_compatible_node(NULL, NULL,
                                                     "fsl,imx6ul-src");
                        src_base = of_iomap(np, 0);
+                       of_node_put(src_np);
                        WARN_ON(!src_base);
                        sbmr2 = readl_relaxed(src_base + SRC_SBMR2);
                        iounmap(src_base);
@@ -149,6 +150,7 @@ void __init imx_init_revision_from_anatop(void)
                        }
                }
        }
+       of_node_put(np);
 
        mxc_set_cpu_type(digprog >> 16 & 0xff);
        imx_set_soc_revision(revision);
index e96baa4..fb3cba8 100644 (file)
@@ -282,4 +282,5 @@ void __init imx_gpc_check_dt(void)
                /* map GPC, so that at least CPUidle and WARs keep working */
                gpc_base = of_iomap(np, 0);
        }
+       of_node_put(np);
 }
index 2aa2692..cf4e933 100644 (file)
@@ -109,6 +109,7 @@ static void __init ls1021a_smp_prepare_cpus(unsigned int max_cpus)
 
        np = of_find_compatible_node(NULL, NULL, "fsl,ls1021a-dcfg");
        dcfg_base = of_iomap(np, 0);
+       of_node_put(np);
        BUG_ON(!dcfg_base);
 
        paddr = __pa_symbol(secondary_startup);
index 1c0ecad..dd34dff 100644 (file)
@@ -655,6 +655,8 @@ void __init imx6_pm_ccm_init(const char *ccm_compat)
 
        if (of_property_read_bool(np, "fsl,pmic-stby-poweroff"))
                imx6_pm_stby_poweroff_probe();
+
+       of_node_put(np);
 }
 
 void __init imx6q_pm_init(void)
index 7b2f738..2e756d8 100644 (file)
@@ -62,6 +62,7 @@ void __init imx7ulp_pm_init(void)
 
        np = of_find_compatible_node(NULL, NULL, "fsl,imx7ulp-smc1");
        smc1_base = of_iomap(np, 0);
+       of_node_put(np);
        WARN_ON(!smc1_base);
 
        imx7ulp_set_lpm(ULP_PM_RUN);