summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/max8907-regulator.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2013-01-25 10:20:29 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-27 10:53:03 +0800
commitf40cbcb933367aa79fa881baff276b3a4566b563 (patch)
treedee28206dd3c90368ee2926afe437b276b020180 /drivers/regulator/max8907-regulator.c
parent949db153b6466c6f7cad5a427ecea94985927311 (diff)
downloadlinux-f40cbcb933367aa79fa881baff276b3a4566b563.tar.gz
linux-f40cbcb933367aa79fa881baff276b3a4566b563.tar.bz2
linux-f40cbcb933367aa79fa881baff276b3a4566b563.zip
regulator: max8907: Fix using wrong dev argument for calling of_regulator_match
The dev parameter is the device requesting the data. In this case it should be &pdev->dev rather than pdev->dev.parent. The dev parameter is used to call devm_kzalloc in of_get_regulator_init_data(), which means this fixes a memory leak because the memory is allocated every time probe() is called, thus it should be freed when this driver is unloaded. Signed-off-by: Axel Lin <axel.lin@ingics.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/max8907-regulator.c')
-rw-r--r--drivers/regulator/max8907-regulator.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/regulator/max8907-regulator.c b/drivers/regulator/max8907-regulator.c
index d1a77512d83e..d40cf7fdb546 100644
--- a/drivers/regulator/max8907-regulator.c
+++ b/drivers/regulator/max8907-regulator.c
@@ -237,8 +237,7 @@ static int max8907_regulator_parse_dt(struct platform_device *pdev)
return -EINVAL;
}
- ret = of_regulator_match(pdev->dev.parent, regulators,
- max8907_matches,
+ ret = of_regulator_match(&pdev->dev, regulators, max8907_matches,
ARRAY_SIZE(max8907_matches));
if (ret < 0) {
dev_err(&pdev->dev, "Error parsing regulator init data: %d\n",