[PATCH] clocksource/drivers/integrator-ap: add of_node_put()

Yangtao Li
2018-11-20T13:19:00Z

use of_node_put() to release the refcount.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
drivers/clocksource/timer-integrator-ap.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/clocksource/timer-integrator-ap.c b/drivers/clocksource/timer-integrator-ap.c
index 76e526f58620..50e0a9166f66 100644
--- a/drivers/clocksource/timer-integrator-ap.c
+++ b/drivers/clocksource/timer-integrator-ap.c
@@ -204,8 +204,6 @@ static int __init integrator_ap_timer_init_of(struct device_node *node)
return err;
}

- pri_node = of_find_node_by_path(path);
-
err = of_property_read_string(of_aliases,
"arm,timer-secondary", &path);
if (err) {
@@ -213,14 +211,18 @@ static int __init integrator_ap_timer_init_of(struct device_node *node)
return err;
}

+ pri_node = of_find_node_by_path(path);
+ if (node == pri_node){
+ of_node_put(pri_node);

- sec_node = of_find_node_by_path(path);
-
- if (node == pri_node)
/* The primary timer lacks IRQ, use as clocksource */
return integrator_clocksource_init(rate, base);
+ }

+ sec_node = of_find_node_by_path(path);
if (node == sec_node) {
+ of_node_put(sec_node);
+
/* The secondary timer will drive the clock event */
irq = irq_of_parse_and_map(node, 0);
return integrator_clockevent_init(rate, base, irq);
--
2.17.0