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 |
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) {
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.
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 --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) {
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(-)