2021-09-28 01:58:32

by Cai,Huoqing

[permalink] [raw]
Subject: [PATCH v2 1/2] iio: st_sensors: Make use of the helper function dev_err_probe()

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 <[email protected]>
---
v1->v2: Remove the separate line of PTR_ERR().

.../iio/common/st_sensors/st_sensors_core.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
index a5a140de9a23..732d0f8f99f6 100644
--- a/drivers/iio/common/st_sensors/st_sensors_core.c
+++ b/drivers/iio/common/st_sensors/st_sensors_core.c
@@ -228,10 +228,10 @@ int st_sensors_power_enable(struct iio_dev *indio_dev)

/* Regulators not mandatory, but if requested we should enable them. */
pdata->vdd = devm_regulator_get(parent, "vdd");
- if (IS_ERR(pdata->vdd)) {
- dev_err(&indio_dev->dev, "unable to get Vdd supply\n");
- return PTR_ERR(pdata->vdd);
- }
+ if (IS_ERR(pdata->vdd))
+ return dev_err_probe(&indio_dev->dev, PTR_ERR(pdata->vdd),
+ "unable to get Vdd supply\n");
+
err = regulator_enable(pdata->vdd);
if (err != 0) {
dev_warn(&indio_dev->dev,
@@ -243,10 +245,10 @@ int st_sensors_power_enable(struct iio_dev *indio_dev)
return err;

pdata->vdd_io = devm_regulator_get(parent, "vddio");
- if (IS_ERR(pdata->vdd_io)) {
- dev_err(&indio_dev->dev, "unable to get Vdd_IO supply\n");
- return PTR_ERR(pdata->vdd_io);
- }
+ if (IS_ERR(pdata->vdd_io))
+ return dev_err_probe(&indio_dev->dev, PTR_ERR(pdata->vdd_io),
+ "unable to get Vdd_IO supply\n");
+
err = regulator_enable(pdata->vdd_io);
if (err != 0) {
dev_warn(&indio_dev->dev,
--
2.25.1


2021-10-07 17:26:17

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] iio: st_sensors: Make use of the helper function dev_err_probe()

On Tue, 28 Sep 2021 09:40:53 +0800
Cai Huoqing <[email protected]> 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 <[email protected]>
+CC Denis though this looks simple enough I'll take it now.

Applied to the togreg branch of iio.git and pushed out as testing for all the
normal reasons.

Thanks,

Jonathan

> ---
> v1->v2: Remove the separate line of PTR_ERR().
>
> .../iio/common/st_sensors/st_sensors_core.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index a5a140de9a23..732d0f8f99f6 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -228,10 +228,10 @@ int st_sensors_power_enable(struct iio_dev *indio_dev)
>
> /* Regulators not mandatory, but if requested we should enable them. */
> pdata->vdd = devm_regulator_get(parent, "vdd");
> - if (IS_ERR(pdata->vdd)) {
> - dev_err(&indio_dev->dev, "unable to get Vdd supply\n");
> - return PTR_ERR(pdata->vdd);
> - }
> + if (IS_ERR(pdata->vdd))
> + return dev_err_probe(&indio_dev->dev, PTR_ERR(pdata->vdd),
> + "unable to get Vdd supply\n");
> +
> err = regulator_enable(pdata->vdd);
> if (err != 0) {
> dev_warn(&indio_dev->dev,
> @@ -243,10 +245,10 @@ int st_sensors_power_enable(struct iio_dev *indio_dev)
> return err;
>
> pdata->vdd_io = devm_regulator_get(parent, "vddio");
> - if (IS_ERR(pdata->vdd_io)) {
> - dev_err(&indio_dev->dev, "unable to get Vdd_IO supply\n");
> - return PTR_ERR(pdata->vdd_io);
> - }
> + if (IS_ERR(pdata->vdd_io))
> + return dev_err_probe(&indio_dev->dev, PTR_ERR(pdata->vdd_io),
> + "unable to get Vdd_IO supply\n");
> +
> err = regulator_enable(pdata->vdd_io);
> if (err != 0) {
> dev_warn(&indio_dev->dev,