regulator: tps65090: Fix using wrong dev argument for calling of_regulator_match
authorAxel Lin <axel.lin@ingics.com>
Wed, 30 Jan 2013 12:28:20 +0000 (20:28 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 31 Jan 2013 06:42:05 +0000 (14:42 +0800)
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>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/tps65090-regulator.c

index 8687543abe2f3ba1688343c4930afe788ec3387b..c8e70451df38864ffbe2ffb3b9fb3d67817fedc4 100644 (file)
@@ -186,7 +186,7 @@ static struct tps65090_platform_data *tps65090_parse_dt_reg_data(
                return ERR_PTR(-ENODEV);
        }
 
-       ret = of_regulator_match(pdev->dev.parent, regulators, tps65090_matches,
+       ret = of_regulator_match(&pdev->dev, regulators, tps65090_matches,
                        ARRAY_SIZE(tps65090_matches));
        if (ret < 0) {
                dev_err(&pdev->dev,