]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
regulator: s5m8767: Fix carried over ena_gpio assignment
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 7 Apr 2014 12:15:23 +0000 (14:15 +0200)
committerMark Brown <broonie@linaro.org>
Mon, 7 Apr 2014 12:39:58 +0000 (13:39 +0100)
During registration of regulators if external control for regulator was
set in DTS the ena_gpio and ena_gpio_flags fields of regulator_config
were set to proper values.

However the same regulator_config was used in next iterations of loop so
the ena_gpio fields carried over to next regulators.

The issue was not observed as ena_gpio is supported only for Buck9
regulator which is often the last regulator parsed from DTS.
Be sure to clear ena_gpio config fields before registering the
regulator.

Fixes: ee1e0994ab1bd (regulator: s5m8767: Use GPIO for controlling Buck9/eMMC)
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/regulator/s5m8767.c

index f05badabd69e99169a0adcb9f4d4d335891cafb8..92f19a005dc3f49d0b2ec5384af5e03fde72e155 100644 (file)
@@ -964,6 +964,7 @@ static int s5m8767_pmic_probe(struct platform_device *pdev)
                config.driver_data = s5m8767;
                config.regmap = iodev->regmap_pmic;
                config.of_node = pdata->regulators[i].reg_node;
+               config.ena_gpio = config.ena_gpio_flags = 0;
                if (pdata->regulators[i].ext_control_gpio)
                        s5m8767_regulator_config_ext_control(s5m8767,
                                        &pdata->regulators[i], &config);