regulator: Add missing of_node_put()

of_find_node_by_name() returns a node pointer with refcount incremented, use
of_node_put() on it when done.

of_find_node_by_name() will call of_node_put() against from parameter,
thus we also need to call of_node_get(from) before calling
of_find_node_by_name().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Axel Lin
2013-01-27 21:16:56 +08:00
committed by Mark Brown
parent 9c9588a732
commit c92f5dd2c4
8 changed files with 26 additions and 11 deletions

View File

@@ -395,9 +395,9 @@ static int da9052_regulator_probe(struct platform_device *pdev)
config.init_data = pdata->regulators[pdev->id];
} else {
#ifdef CONFIG_OF
struct device_node *nproot = da9052->dev->of_node;
struct device_node *np;
struct device_node *nproot, *np;
nproot = of_node_get(da9052->dev->of_node);
if (!nproot)
return -ENODEV;
@@ -414,6 +414,7 @@ static int da9052_regulator_probe(struct platform_device *pdev)
break;
}
}
of_node_put(nproot);
#endif
}