iio: adc: hx711: remove errors during deferred probe

Message ID 20221104172243.1004384-1-nate.d@variscite.com
State New
Headers
Series iio: adc: hx711: remove errors during deferred probe |

Commit Message

Nate Drude Nov. 4, 2022, 5:22 p.m. UTC
  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@variscite.com>
---
 drivers/iio/adc/hx711.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
  

Comments

Christophe JAILLET Nov. 4, 2022, 7:10 p.m. UTC | #1
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@public.gmane.org>
> ---
>   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
  

Patch

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);
 	}