diff options
author | Axel Lin <axel.lin@ingics.com> | 2013-01-25 03:20:29 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-01-27 03:53:03 +0100 |
commit | f40cbcb933367aa79fa881baff276b3a4566b563 (patch) | |
tree | dee28206dd3c90368ee2926afe437b276b020180 /drivers/regulator/max8907-regulator.c | |
parent | Linux 3.8-rc5 (diff) | |
download | linux-f40cbcb933367aa79fa881baff276b3a4566b563.tar.xz 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.c | 3 |
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", |