[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170924130506.19e1b733@archlinux>
Date: Sun, 24 Sep 2017 13:05:06 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Christophe JAILLET <christophe.jaillet@...adoo.fr>
Cc: knaack.h@....de, lars@...afoo.de, pmeerw@...erw.net,
sre@...nel.org, wsa@...-dreams.de, kishon@...com,
linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: Re: [PATCH 3/3] iio: adc: twl4030: Return an error if we can not
enable the vusb3v1 regulator in 'twl4030_madc_probe()'
On Sat, 23 Sep 2017 08:06:20 +0200
Christophe JAILLET <christophe.jaillet@...adoo.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@...adoo.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) {
Powered by blists - more mailing lists