aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Hunter <jonathanh@nvidia.com>2016-06-28 06:38:27 -0400
committerThierry Reding <treding@nvidia.com>2016-06-30 06:23:08 -0400
commitb69a625826ecc563414aea5846e31b05184292f4 (patch)
tree7b034a2c342f534203814681400a113b757221d8
parent61fd284be8be06db1339ca4c9217f5a13b50074f (diff)
soc/tegra: pmc: Add missing of_node_put()
Add missing of_node_put() in PMC early initialisation function to avoid leaking the device nodes. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> [treding@nvidia.com: squash in a couple more of_node_put() calls] Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r--drivers/soc/tegra/pmc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index 483d54623ec5..48e1de2f7aeb 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -1540,6 +1540,7 @@ static int __init tegra_pmc_early_init(void)
1540 */ 1540 */
1541 if (of_address_to_resource(np, 0, &regs) < 0) { 1541 if (of_address_to_resource(np, 0, &regs) < 0) {
1542 pr_err("failed to get PMC registers\n"); 1542 pr_err("failed to get PMC registers\n");
1543 of_node_put(np);
1543 return -ENXIO; 1544 return -ENXIO;
1544 } 1545 }
1545 } 1546 }
@@ -1547,6 +1548,7 @@ static int __init tegra_pmc_early_init(void)
1547 pmc->base = ioremap_nocache(regs.start, resource_size(&regs)); 1548 pmc->base = ioremap_nocache(regs.start, resource_size(&regs));
1548 if (!pmc->base) { 1549 if (!pmc->base) {
1549 pr_err("failed to map PMC registers\n"); 1550 pr_err("failed to map PMC registers\n");
1551 of_node_put(np);
1550 return -ENXIO; 1552 return -ENXIO;
1551 } 1553 }
1552 1554
@@ -1572,6 +1574,8 @@ static int __init tegra_pmc_early_init(void)
1572 value &= ~PMC_CNTRL_INTR_POLARITY; 1574 value &= ~PMC_CNTRL_INTR_POLARITY;
1573 1575
1574 tegra_pmc_writel(value, PMC_CNTRL); 1576 tegra_pmc_writel(value, PMC_CNTRL);
1577
1578 of_node_put(np);
1575 } 1579 }
1576 1580
1577 return 0; 1581 return 0;