diff mbox series

[v2,2/2] iio: st_lsm9ds0: Make use of the helper function dev_err_probe()

Message ID 20210928014055.1431-2-caihuoqing@baidu.com (mailing list archive)
State Accepted
Headers show
Series [v2,1/2] iio: health: afe4403: Make use of the helper function dev_err_probe() | expand

Commit Message

Cai,Huoqing Sept. 28, 2021, 1:40 a.m. UTC
When possible use dev_err_probe help to properly deal with the
PROBE_DEFER error, the benefit is that DEFER issue will be logged
in the devices_deferred debugfs file.
Using dev_err_probe() can reduce code size, and the error value
gets printed.

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
---
 drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Jonathan Cameron Sept. 29, 2021, 5:06 p.m. UTC | #1
On Tue, 28 Sep 2021 09:40:54 +0800
Cai Huoqing <caihuoqing@baidu.com> wrote:

> When possible use dev_err_probe help to properly deal with the
> PROBE_DEFER error, the benefit is that DEFER issue will be logged
> in the devices_deferred debugfs file.
> Using dev_err_probe() can reduce code size, and the error value
> gets printed.
> 
> Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>

Hi Cai,

Picking a random patch to reply to...

Thanks for your hard work on these.  The ones I haven't replied to look
fine to me.   It might have been slightly better to slow down your initial
submission of these as then we could perhaps have avoided 2-3 versions
of every patch by identifying shared elements to improve in a smaller set.
Still that's the benefit of hindsight!

I'll not apply these quite yet so as to allow time for driver maintainers
and others to take a look.

If you could tidy up those few minor comments I have that would be great.

Thanks,

Jonathan

> ---
>  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> index b3a43a3b04ff..9fb06b7cde3c 100644
> --- a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> +++ b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> @@ -24,10 +24,10 @@ static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
>  
>  	/* Regulators not mandatory, but if requested we should enable them. */
>  	lsm9ds0->vdd = devm_regulator_get(dev, "vdd");
> -	if (IS_ERR(lsm9ds0->vdd)) {
> -		dev_err(dev, "unable to get Vdd supply\n");
> -		return PTR_ERR(lsm9ds0->vdd);
> -	}
> +	if (IS_ERR(lsm9ds0->vdd))
> +		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd),
> +				     "unable to get Vdd supply\n");
> +
>  	ret = regulator_enable(lsm9ds0->vdd);
>  	if (ret) {
>  		dev_warn(dev, "Failed to enable specified Vdd supply\n");
> @@ -36,9 +36,9 @@ static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
>  
>  	lsm9ds0->vdd_io = devm_regulator_get(dev, "vddio");
>  	if (IS_ERR(lsm9ds0->vdd_io)) {
> -		dev_err(dev, "unable to get Vdd_IO supply\n");
>  		regulator_disable(lsm9ds0->vdd);
> -		return PTR_ERR(lsm9ds0->vdd_io);
> +		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd_io),
> +				     "unable to get Vdd_IO supply\n");
>  	}
>  	ret = regulator_enable(lsm9ds0->vdd_io);
>  	if (ret) {
Andy Shevchenko Oct. 7, 2021, 5:30 p.m. UTC | #2
On Thu, Oct 7, 2021 at 8:26 PM Jonathan Cameron <jic23@kernel.org> wrote:
> On Wed, 29 Sep 2021 18:06:38 +0100
> Jonathan Cameron <jic23@kernel.org> wrote:
> > On Tue, 28 Sep 2021 09:40:54 +0800
> > Cai Huoqing <caihuoqing@baidu.com> wrote:
> >
> > > When possible use dev_err_probe help to properly deal with the
> > > PROBE_DEFER error, the benefit is that DEFER issue will be logged
> > > in the devices_deferred debugfs file.
> > > Using dev_err_probe() can reduce code size, and the error value
> > > gets printed.
> > >
> > > Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
>
> +CC Andy who wrote this particular driver.

Thanks, Jonathan!

> Change looks simple enough I'll apply it though and at least get 0-day building it.
>
> Applied to the togreg branch of iio.git and pushed out as testing for 0-day to
> work it's magic,

...

> > > +           return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd),
> > > +                                "unable to get Vdd supply\n");

> > > +           return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd_io),
> > > +                                "unable to get Vdd_IO supply\n");

I prefer seeing them as one liners, but I've no strong opinion.
Jonathan Cameron Oct. 7, 2021, 5:30 p.m. UTC | #3
On Wed, 29 Sep 2021 18:06:38 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Tue, 28 Sep 2021 09:40:54 +0800
> Cai Huoqing <caihuoqing@baidu.com> wrote:
> 
> > When possible use dev_err_probe help to properly deal with the
> > PROBE_DEFER error, the benefit is that DEFER issue will be logged
> > in the devices_deferred debugfs file.
> > Using dev_err_probe() can reduce code size, and the error value
> > gets printed.
> > 
> > Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>  

+CC Andy who wrote this particular driver.

Change looks simple enough I'll apply it though and at least get 0-day building it.

Applied to the togreg branch of iio.git and pushed out as testing for 0-day to
work it's magic,

Thanks,

Jonathan


> 
> Hi Cai,
> 
> Picking a random patch to reply to...
> 
> Thanks for your hard work on these.  The ones I haven't replied to look
> fine to me.   It might have been slightly better to slow down your initial
> submission of these as then we could perhaps have avoided 2-3 versions
> of every patch by identifying shared elements to improve in a smaller set.
> Still that's the benefit of hindsight!
> 
> I'll not apply these quite yet so as to allow time for driver maintainers
> and others to take a look.
> 
> If you could tidy up those few minor comments I have that would be great.
> 
> Thanks,
> 
> Jonathan
> 
> > ---
> >  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> > index b3a43a3b04ff..9fb06b7cde3c 100644
> > --- a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> > +++ b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
> > @@ -24,10 +24,10 @@ static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
> >  
> >  	/* Regulators not mandatory, but if requested we should enable them. */
> >  	lsm9ds0->vdd = devm_regulator_get(dev, "vdd");
> > -	if (IS_ERR(lsm9ds0->vdd)) {
> > -		dev_err(dev, "unable to get Vdd supply\n");
> > -		return PTR_ERR(lsm9ds0->vdd);
> > -	}
> > +	if (IS_ERR(lsm9ds0->vdd))
> > +		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd),
> > +				     "unable to get Vdd supply\n");
> > +
> >  	ret = regulator_enable(lsm9ds0->vdd);
> >  	if (ret) {
> >  		dev_warn(dev, "Failed to enable specified Vdd supply\n");
> > @@ -36,9 +36,9 @@ static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
> >  
> >  	lsm9ds0->vdd_io = devm_regulator_get(dev, "vddio");
> >  	if (IS_ERR(lsm9ds0->vdd_io)) {
> > -		dev_err(dev, "unable to get Vdd_IO supply\n");
> >  		regulator_disable(lsm9ds0->vdd);
> > -		return PTR_ERR(lsm9ds0->vdd_io);
> > +		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd_io),
> > +				     "unable to get Vdd_IO supply\n");
> >  	}
> >  	ret = regulator_enable(lsm9ds0->vdd_io);
> >  	if (ret) {  
>
diff mbox series

Patch

diff --git a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
index b3a43a3b04ff..9fb06b7cde3c 100644
--- a/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
+++ b/drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c
@@ -24,10 +24,10 @@  static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
 
 	/* Regulators not mandatory, but if requested we should enable them. */
 	lsm9ds0->vdd = devm_regulator_get(dev, "vdd");
-	if (IS_ERR(lsm9ds0->vdd)) {
-		dev_err(dev, "unable to get Vdd supply\n");
-		return PTR_ERR(lsm9ds0->vdd);
-	}
+	if (IS_ERR(lsm9ds0->vdd))
+		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd),
+				     "unable to get Vdd supply\n");
+
 	ret = regulator_enable(lsm9ds0->vdd);
 	if (ret) {
 		dev_warn(dev, "Failed to enable specified Vdd supply\n");
@@ -36,9 +36,9 @@  static int st_lsm9ds0_power_enable(struct device *dev, struct st_lsm9ds0 *lsm9ds
 
 	lsm9ds0->vdd_io = devm_regulator_get(dev, "vddio");
 	if (IS_ERR(lsm9ds0->vdd_io)) {
-		dev_err(dev, "unable to get Vdd_IO supply\n");
 		regulator_disable(lsm9ds0->vdd);
-		return PTR_ERR(lsm9ds0->vdd_io);
+		return dev_err_probe(dev, PTR_ERR(lsm9ds0->vdd_io),
+				     "unable to get Vdd_IO supply\n");
 	}
 	ret = regulator_enable(lsm9ds0->vdd_io);
 	if (ret) {