Re: [PATCH] iio: adc: hx711: remove errors during deferred probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 04/11/2022 à 18:22, Nate Drude a écrit :
This patch removes noisy kernel messages like "failed to sck-gpiod" or
"failed to get dout-gpiod" when the probe is deferred.

Signed-off-by: Nate Drude <nate.d-/HTLZasLZWtl57MIdRCFDg@xxxxxxxxxxxxxxxx>
---
  drivers/iio/adc/hx711.c | 10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c
index f7ee856a6b8b..8ba4a5b113aa 100644
--- a/drivers/iio/adc/hx711.c
+++ b/drivers/iio/adc/hx711.c
@@ -482,8 +482,9 @@ static int hx711_probe(struct platform_device *pdev)
  	 */
  	hx711_data->gpiod_pd_sck = devm_gpiod_get(dev, "sck", GPIOD_OUT_LOW);
  	if (IS_ERR(hx711_data->gpiod_pd_sck)) {
-		dev_err(dev, "failed to get sck-gpiod: err=%ld\n",
-					PTR_ERR(hx711_data->gpiod_pd_sck));
+		if (PTR_ERR(hx711_data->gpiod_pd_sck) != -EPROBE_DEFER)
+			dev_err(dev, "failed to get sck-gpiod: err=%ld\n",
+						PTR_ERR(hx711_data->gpiod_pd_sck));
  		return PTR_ERR(hx711_data->gpiod_pd_sck);
  	}
@@ -493,8 +494,9 @@ static int hx711_probe(struct platform_device *pdev)
  	 */
  	hx711_data->gpiod_dout = devm_gpiod_get(dev, "dout", GPIOD_IN);
  	if (IS_ERR(hx711_data->gpiod_dout)) {
-		dev_err(dev, "failed to get dout-gpiod: err=%ld\n",
-					PTR_ERR(hx711_data->gpiod_dout));
+		if (PTR_ERR(hx711_data->gpiod_dout) != -EPROBE_DEFER)
+			dev_err(dev, "failed to get dout-gpiod: err=%ld\n",
+						PTR_ERR(hx711_data->gpiod_dout));
  		return PTR_ERR(hx711_data->gpiod_dout);
  	}

Hi,
using dev_err_probe() looks like a better candidate for that.

It can be can folded with the return (saving some LoC and the {} around the error handling path), and display the error code in a human readable manner.

CJ



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux