Hi Viresh,
On 27 May 2014 17:20, Viresh Kumar viresh.kumar@linaro.org wrote:
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@linaro.org
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;
What about of_node_put before returning here and other places in this function?