* [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment @ 2014-04-07 12:15 Krzysztof Kozlowski 2014-04-07 12:15 ` [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container Krzysztof Kozlowski 2014-04-07 12:41 ` [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Mark Brown 0 siblings, 2 replies; 4+ messages in thread From: Krzysztof Kozlowski @ 2014-04-07 12:15 UTC (permalink / raw) To: Sangbeom Kim, Liam Girdwood, Mark Brown, linux-kernel, linux-samsung-soc Cc: Kyungmin Park, Marek Szyprowski, Bartlomiej Zolnierkiewicz, Tomasz Figa, Krzysztof Kozlowski 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. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> --- drivers/regulator/s5m8767.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c index f05badabd69e..92f19a005dc3 100644 --- a/drivers/regulator/s5m8767.c +++ b/drivers/regulator/s5m8767.c @@ -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); -- 1.7.9.5 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container 2014-04-07 12:15 [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Krzysztof Kozlowski @ 2014-04-07 12:15 ` Krzysztof Kozlowski 2014-04-07 12:42 ` Mark Brown 2014-04-07 12:41 ` [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Mark Brown 1 sibling, 1 reply; 4+ messages in thread From: Krzysztof Kozlowski @ 2014-04-07 12:15 UTC (permalink / raw) To: Sangbeom Kim, Liam Girdwood, Mark Brown, linux-kernel, linux-samsung-soc Cc: Kyungmin Park, Marek Szyprowski, Bartlomiej Zolnierkiewicz, Tomasz Figa, Krzysztof Kozlowski Don't store pointer to regulator_dev returned by devm_regulator_register() in state container. It isn't used anywhere outside of probe. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> --- drivers/regulator/s5m8767.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c index 92f19a005dc3..5daa06626f16 100644 --- a/drivers/regulator/s5m8767.c +++ b/drivers/regulator/s5m8767.c @@ -28,7 +28,6 @@ struct s5m8767_info { struct device *dev; struct sec_pmic_dev *iodev; int num_regulators; - struct regulator_dev **rdev; struct sec_opmode_data *opmode; int ramp_delay; @@ -695,7 +694,6 @@ static int s5m8767_pmic_probe(struct platform_device *pdev) struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent); struct sec_platform_data *pdata = iodev->pdata; struct regulator_config config = { }; - struct regulator_dev **rdev; struct s5m8767_info *s5m8767; int i, ret, size, buck_init; @@ -737,11 +735,7 @@ static int s5m8767_pmic_probe(struct platform_device *pdev) return -ENOMEM; size = sizeof(struct regulator_dev *) * (S5M8767_REG_MAX - 2); - s5m8767->rdev = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); - if (!s5m8767->rdev) - return -ENOMEM; - rdev = s5m8767->rdev; s5m8767->dev = &pdev->dev; s5m8767->iodev = iodev; s5m8767->num_regulators = pdata->num_regulators; @@ -938,6 +932,7 @@ static int s5m8767_pmic_probe(struct platform_device *pdev) const struct sec_voltage_desc *desc; int id = pdata->regulators[i].id; int enable_reg, enable_val; + struct regulator_dev *rdev; desc = reg_voltage_map[id]; if (desc) { @@ -969,21 +964,21 @@ static int s5m8767_pmic_probe(struct platform_device *pdev) s5m8767_regulator_config_ext_control(s5m8767, &pdata->regulators[i], &config); - rdev[i] = devm_regulator_register(&pdev->dev, ®ulators[id], + rdev = devm_regulator_register(&pdev->dev, ®ulators[id], &config); - if (IS_ERR(rdev[i])) { - ret = PTR_ERR(rdev[i]); + if (IS_ERR(rdev)) { + ret = PTR_ERR(rdev); dev_err(s5m8767->dev, "regulator init failed for %d\n", id); return ret; } if (pdata->regulators[i].ext_control_gpio) { - ret = s5m8767_enable_ext_control(s5m8767, rdev[i]); + ret = s5m8767_enable_ext_control(s5m8767, rdev); if (ret < 0) { dev_err(s5m8767->dev, "failed to enable gpio control over %s: %d\n", - rdev[i]->desc->name, ret); + rdev->desc->name, ret); return ret; } } -- 1.7.9.5 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container 2014-04-07 12:15 ` [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container Krzysztof Kozlowski @ 2014-04-07 12:42 ` Mark Brown 0 siblings, 0 replies; 4+ messages in thread From: Mark Brown @ 2014-04-07 12:42 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Sangbeom Kim, Liam Girdwood, linux-kernel, linux-samsung-soc, Kyungmin Park, Marek Szyprowski, Bartlomiej Zolnierkiewicz, Tomasz Figa [-- Attachment #1: Type: text/plain, Size: 229 bytes --] On Mon, Apr 07, 2014 at 02:15:24PM +0200, Krzysztof Kozlowski wrote: > Don't store pointer to regulator_dev returned by > devm_regulator_register() in state container. It isn't used anywhere > outside of probe. Applied, thanks. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment 2014-04-07 12:15 [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Krzysztof Kozlowski 2014-04-07 12:15 ` [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container Krzysztof Kozlowski @ 2014-04-07 12:41 ` Mark Brown 1 sibling, 0 replies; 4+ messages in thread From: Mark Brown @ 2014-04-07 12:41 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Sangbeom Kim, Liam Girdwood, linux-kernel, linux-samsung-soc, Kyungmin Park, Marek Szyprowski, Bartlomiej Zolnierkiewicz, Tomasz Figa [-- Attachment #1: Type: text/plain, Size: 262 bytes --] On Mon, Apr 07, 2014 at 02:15:23PM +0200, Krzysztof Kozlowski wrote: > 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. Applied, thanks. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-04-07 12:43 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-04-07 12:15 [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Krzysztof Kozlowski 2014-04-07 12:15 ` [PATCH 2/2] regulator: s5m8767: Remove regulator_dev pointer from state container Krzysztof Kozlowski 2014-04-07 12:42 ` Mark Brown 2014-04-07 12:41 ` [PATCH 1/2] regulator: s5m8767: Fix carried over ena_gpio assignment Mark Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
Powered by JetHome