Messages in this thread Patch in this message | | | From | Liang He <> | Subject | [PATCH v2] soc: samsung: Add missing of_node_put in exynos-pmu.c | Date | Wed, 15 Jun 2022 21:56:59 +0800 |
| |
In exynos_get_pmu_regmap(), of_find_matching_node() will return a node pointer with refcount incremented. We should use of_node_put() for that node pointer. We need a similar code logic in the function syscon_regmap_lookup_by_compatible().
Signed-off-by: Liang He <windhl@126.com> --- changelog: v2: (1) use formal name; (2) add a blank line advised by Krzysztof v1: fix the missing of_node_put() problem
drivers/soc/samsung/exynos-pmu.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/soc/samsung/exynos-pmu.c b/drivers/soc/samsung/exynos-pmu.c index 732c86ce2be8..ad0a94d1d88d 100644 --- a/drivers/soc/samsung/exynos-pmu.c +++ b/drivers/soc/samsung/exynos-pmu.c @@ -108,9 +108,14 @@ struct regmap *exynos_get_pmu_regmap(void) { struct device_node *np = of_find_matching_node(NULL, exynos_pmu_of_device_ids); - if (np) - return syscon_node_to_regmap(np); - return ERR_PTR(-ENODEV); + struct regmap *regmap; + + if (!np) + return ERR_PTR(-ENODEV); + + regmap = syscon_node_to_regmap(np); + of_node_put(np); + return regmap; } EXPORT_SYMBOL_GPL(exynos_get_pmu_regmap); -- 2.25.1
| |