Hi Peter, 2016-07-01 18:42 GMT+09:00 Peter Chen <[email protected]>: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Cc: Chanwoo Choi <[email protected]> > Cc: MyungJoo Ham <[email protected]> > Cc: Kyungmin Park <[email protected]> > Cc: Kukjin Kim <[email protected]> > Cc: Krzysztof Kozlowski <[email protected]> > Signed-off-by: Peter Chen <[email protected]> > --- > drivers/devfreq/exynos-bus.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c > index 2363d0a..a38b5ec 100644 > --- a/drivers/devfreq/exynos-bus.c > +++ b/drivers/devfreq/exynos-bus.c > @@ -383,7 +383,7 @@ err_clk: > static int exynos_bus_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > - struct device_node *np = dev->of_node; > + struct device_node *np = dev->of_node, node; > struct devfreq_dev_profile *profile; > struct devfreq_simple_ondemand_data *ondemand_data; > struct devfreq_passive_data *passive_data; > @@ -415,10 +415,13 @@ static int exynos_bus_probe(struct platform_device > *pdev) > goto err; > } > > - if (of_parse_phandle(dev->of_node, "devfreq", 0)) > + node = of_parse_phandle(dev->of_node, "devfreq", 0); > + if (node) { > + of_node_put(node); > goto passive; > - else > + } else { > ret = exynos_bus_parent_parse_of(np, bus); > + } > > if (ret < 0) > goto err;
Acked-by: Chanwoo Choi <[email protected]> Regards, Chanwoo Choi

