Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1737964 > unrolled thread
| Started by | Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
|---|---|
| First post | 2017-09-23 08:10 +0200 |
| Last post | 2017-09-24 14:00 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 1/3] iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' Christophe JAILLET <christophe.jaillet@wanadoo.fr> - 2017-09-23 08:10 +0200
[PATCH 2/3] iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' Christophe JAILLET <christophe.jaillet@wanadoo.fr> - 2017-09-23 08:10 +0200
Re: [PATCH 2/3] iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' Jonathan Cameron <jic23@kernel.org> - 2017-09-24 14:10 +0200
[PATCH 3/3] iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' Christophe JAILLET <christophe.jaillet@wanadoo.fr> - 2017-09-23 08:10 +0200
Re: [PATCH 3/3] iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' Jonathan Cameron <jic23@kernel.org> - 2017-09-24 14:10 +0200
Re: [PATCH 1/3] iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' Jonathan Cameron <jic23@kernel.org> - 2017-09-24 14:00 +0200
| From | Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
|---|---|
| Date | 2017-09-23 08:10 +0200 |
| Subject | [PATCH 1/3] iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' |
| Message-ID | <usLNv-7Vv-1@gated-at.bofh.it> |
If 'devm_regulator_get()' fails, we should go through the existing error
handling path instead of returning directly, as done is all the other
error handling paths in this function.
Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
drivers/iio/adc/twl4030-madc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 1edd99f0c5e5..80ab2ed70b85 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -887,8 +887,10 @@ static int twl4030_madc_probe(struct platform_device *pdev)
/* Enable 3v1 bias regulator for MADC[3:6] */
madc->usb3v1 = devm_regulator_get(madc->dev, "vusb3v1");
- if (IS_ERR(madc->usb3v1))
- return -ENODEV;
+ if (IS_ERR(madc->usb3v1)) {
+ ret = -ENODEV;
+ goto err_i2c;
+ }
ret = regulator_enable(madc->usb3v1);
if (ret)
--
2.11.0
[toc] | [next] | [standalone]
| From | Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
|---|---|
| Date | 2017-09-23 08:10 +0200 |
| Subject | [PATCH 2/3] iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' |
| Message-ID | <usLNv-7Vv-13@gated-at.bofh.it> |
| In reply to | #1737964 |
Commit 7cc97d77ee8a has introduced a call to 'regulator_disable()' in the
.remove function.
So we should also have such a call in the .probe function in case of
error after a successful 'regulator_enable()' call.
Add a new label for that and use it.
Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
drivers/iio/adc/twl4030-madc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 80ab2ed70b85..32db23d9a483 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -899,11 +899,13 @@ static int twl4030_madc_probe(struct platform_device *pdev)
ret = iio_device_register(iio_dev);
if (ret) {
dev_err(&pdev->dev, "could not register iio device\n");
- goto err_i2c;
+ goto err_usb3v1;
}
return 0;
+err_usb3v1:
+ regulator_disable(madc->usb3v1);
err_i2c:
twl4030_madc_set_current_generator(madc, 0, 0);
err_current_generator:
--
2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Jonathan Cameron <jic23@kernel.org> |
|---|---|
| Date | 2017-09-24 14:10 +0200 |
| Subject | Re: [PATCH 2/3] iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' |
| Message-ID | <utdTr-5b-5@gated-at.bofh.it> |
| In reply to | #1737968 |
On Sat, 23 Sep 2017 08:06:19 +0200
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:
> Commit 7cc97d77ee8a has introduced a call to 'regulator_disable()' in the
> .remove function.
> So we should also have such a call in the .probe function in case of
> error after a successful 'regulator_enable()' call.
>
> Add a new label for that and use it.
>
> Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Applied to the fixes-togreg-post-rc1 branch of iio.git and marked
for stable.
Thanks,
Jonathan
> ---
> drivers/iio/adc/twl4030-madc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 80ab2ed70b85..32db23d9a483 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -899,11 +899,13 @@ static int twl4030_madc_probe(struct platform_device *pdev)
> ret = iio_device_register(iio_dev);
> if (ret) {
> dev_err(&pdev->dev, "could not register iio device\n");
> - goto err_i2c;
> + goto err_usb3v1;
> }
>
> return 0;
>
> +err_usb3v1:
> + regulator_disable(madc->usb3v1);
> err_i2c:
> twl4030_madc_set_current_generator(madc, 0, 0);
> err_current_generator:
[toc] | [prev] | [next] | [standalone]
| From | Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
|---|---|
| Date | 2017-09-23 08:10 +0200 |
| Subject | [PATCH 3/3] iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' |
| Message-ID | <usLNw-7Vv-15@gated-at.bofh.it> |
| In reply to | #1737964 |
If we can not enable the regulator, go through the error handling path
instead of silently continuing.
Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
This patch is highly speculative.
I don't find logical to return an error if we don't find the 'vusb3v1'
regulator, but continue if we find it, but can't enable it.
Returning an error if both cases (i.e. failing 'devm_regulator_get()' or
'regulator_enable)' seems the usual pattern in all the .probe functions
with a 'regulator_enable()' call have looked at (~ 10 of them taken
randomly)
---
drivers/iio/adc/twl4030-madc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 32db23d9a483..e3cfb91bffc6 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -893,8 +893,10 @@ static int twl4030_madc_probe(struct platform_device *pdev)
}
ret = regulator_enable(madc->usb3v1);
- if (ret)
+ if (ret) {
dev_err(madc->dev, "could not enable 3v1 bias regulator\n");
+ goto err_i2c;
+ }
ret = iio_device_register(iio_dev);
if (ret) {
--
2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Jonathan Cameron <jic23@kernel.org> |
|---|---|
| Date | 2017-09-24 14:10 +0200 |
| Subject | Re: [PATCH 3/3] iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' |
| Message-ID | <utdTr-5b-3@gated-at.bofh.it> |
| In reply to | #1737969 |
On Sat, 23 Sep 2017 08:06:20 +0200
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:
> If we can not enable the regulator, go through the error handling path
> instead of silently continuing.
>
> Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Applied to the fixes-togreg-post-rc1 branch of iio.git.
I haven't explicitly marked this one for stable as it isn't broken
as such, just inconsistent.
Thanks,
Jonathan
> ---
> This patch is highly speculative.
> I don't find logical to return an error if we don't find the 'vusb3v1'
> regulator, but continue if we find it, but can't enable it.
> Returning an error if both cases (i.e. failing 'devm_regulator_get()' or
> 'regulator_enable)' seems the usual pattern in all the .probe functions
> with a 'regulator_enable()' call have looked at (~ 10 of them taken
> randomly)
> ---
> drivers/iio/adc/twl4030-madc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 32db23d9a483..e3cfb91bffc6 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -893,8 +893,10 @@ static int twl4030_madc_probe(struct platform_device *pdev)
> }
>
> ret = regulator_enable(madc->usb3v1);
> - if (ret)
> + if (ret) {
> dev_err(madc->dev, "could not enable 3v1 bias regulator\n");
> + goto err_i2c;
> + }
>
> ret = iio_device_register(iio_dev);
> if (ret) {
[toc] | [prev] | [next] | [standalone]
| From | Jonathan Cameron <jic23@kernel.org> |
|---|---|
| Date | 2017-09-24 14:00 +0200 |
| Subject | Re: [PATCH 1/3] iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' |
| Message-ID | <utdJL-8er-1@gated-at.bofh.it> |
| In reply to | #1737964 |
On Sat, 23 Sep 2017 08:06:18 +0200
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:
> If 'devm_regulator_get()' fails, we should go through the existing error
> handling path instead of returning directly, as done is all the other
> error handling paths in this function.
>
> Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Applied to the fixes-togreg-post-rc1 branch of iio.git and marked
for stable.
Thanks,
Jonathan
> ---
> drivers/iio/adc/twl4030-madc.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 1edd99f0c5e5..80ab2ed70b85 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -887,8 +887,10 @@ static int twl4030_madc_probe(struct platform_device *pdev)
>
> /* Enable 3v1 bias regulator for MADC[3:6] */
> madc->usb3v1 = devm_regulator_get(madc->dev, "vusb3v1");
> - if (IS_ERR(madc->usb3v1))
> - return -ENODEV;
> + if (IS_ERR(madc->usb3v1)) {
> + ret = -ENODEV;
> + goto err_i2c;
> + }
>
> ret = regulator_enable(madc->usb3v1);
> if (ret)
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web