Messages in this thread Patch in this message | | | From | Yangtao Li <> | Subject | [PATCH] clocksource/drivers/integrator-ap: add of_node_put() | Date | Tue, 20 Nov 2018 08:18:53 -0500 |
| |
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
| |