[PATCH V4 2/8] opp: call of_node_{get|put}() from of_init_opp_table()
From: Viresh Kumar
Date: Tue May 27 2014 - 07:52:44 EST
All callers of of_init_opp_table() are required to take reference of
dev->of_node, by initiating calls to of_node_{get|put}(), before and after
calling of_init_opp_table().
Its better to call these from within of_init_opp_table(), no fun adding
redundant code to every caller.
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
---
drivers/base/power/opp.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index faae9cf..2b615b9 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -622,6 +622,9 @@ int of_init_opp_table(struct device *dev)
const __be32 *val;
int nr;
+ if (!of_node_get(dev->of_node))
+ return -ENODEV;
+
prop = of_find_property(dev->of_node, "operating-points", NULL);
if (!prop)
return -ENODEV;
@@ -649,6 +652,7 @@ int of_init_opp_table(struct device *dev)
nr -= 2;
}
+ of_node_put(dev->of_node);
return 0;
}
EXPORT_SYMBOL_GPL(of_init_opp_table);
--
2.0.0.rc2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/