Hi Peter, 2016-07-01 18:42 GMT+09:00 Peter Chen <peter.chen@xxxxxxx>: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> > Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> > Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > Cc: Kukjin Kim <kgene@xxxxxxxxxx> > Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> > --- > 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 <cw00.choi@xxxxxxxxxxx> Regards, Chanwoo Choi