[PATCH] iio: adc: qcom-spmi-adc5: Tidy up adc5_get_fw_data() error messages

Bjorn Andersson posted 1 patch 1 month, 3 weeks ago
drivers/iio/adc/qcom-spmi-adc5.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] iio: adc: qcom-spmi-adc5: Tidy up adc5_get_fw_data() error messages
Posted by Bjorn Andersson 1 month, 3 weeks ago
In the event that no channels (child nodes) are defined, the adc5 driver
will provide a generic error message indicating that adc5_get_fw_data()
returned -EINVAL. In all other error cases we get two error messages,
one helpful and the generic one.

Add a specific error message for the no channels case, and drop the
generic one, in order to improve the generates log prints in both cases.

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
 drivers/iio/adc/qcom-spmi-adc5.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c
index 9b69f40beed8..af3c2f659f5e 100644
--- a/drivers/iio/adc/qcom-spmi-adc5.c
+++ b/drivers/iio/adc/qcom-spmi-adc5.c
@@ -830,7 +830,7 @@ static int adc5_get_fw_data(struct adc5_chip *adc)
 
 	adc->nchannels = device_get_child_node_count(adc->dev);
 	if (!adc->nchannels)
-		return -EINVAL;
+		return dev_err_probe(adc->dev, -EINVAL, "no channels defined\n");
 
 	adc->iio_chans = devm_kcalloc(adc->dev, adc->nchannels,
 				       sizeof(*adc->iio_chans), GFP_KERNEL);
@@ -903,7 +903,7 @@ static int adc5_probe(struct platform_device *pdev)
 
 	ret = adc5_get_fw_data(adc);
 	if (ret)
-		return dev_err_probe(dev, ret, "adc get dt data failed\n");
+		return ret;
 
 	irq_eoc = platform_get_irq(pdev, 0);
 	if (irq_eoc < 0) {

---
base-commit: 58ca61c1a866bfdaa5e19fb19a2416764f847d75
change-id: 20241004-spmi-adc5-no-channel-error-8c3203391103

Best regards,
-- 
Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Re: [PATCH] iio: adc: qcom-spmi-adc5: Tidy up adc5_get_fw_data() error messages
Posted by Jonathan Cameron 1 month, 3 weeks ago
On Fri, 04 Oct 2024 16:11:01 -0700
Bjorn Andersson <bjorn.andersson@oss.qualcomm.com> wrote:

> In the event that no channels (child nodes) are defined, the adc5 driver
> will provide a generic error message indicating that adc5_get_fw_data()
> returned -EINVAL. In all other error cases we get two error messages,
> one helpful and the generic one.
> 
> Add a specific error message for the no channels case, and drop the
> generic one, in order to improve the generates log prints in both cases.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>

In general this seems sensible.  There seem to be prints in all other paths that
aren't -ENOMEM which is fine.
For consistency it might be nice to have a follow up that uses
dev_err_probe() in adc5_get_fw_channel_data() but that can be handled separately.

Applied to the togreg branch of iio.git and initially pushed out as
testing for 0-day to take a look.

Thanks,

Jonathan



> ---
>  drivers/iio/adc/qcom-spmi-adc5.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c
> index 9b69f40beed8..af3c2f659f5e 100644
> --- a/drivers/iio/adc/qcom-spmi-adc5.c
> +++ b/drivers/iio/adc/qcom-spmi-adc5.c
> @@ -830,7 +830,7 @@ static int adc5_get_fw_data(struct adc5_chip *adc)
>  
>  	adc->nchannels = device_get_child_node_count(adc->dev);
>  	if (!adc->nchannels)
> -		return -EINVAL;
> +		return dev_err_probe(adc->dev, -EINVAL, "no channels defined\n");
>  
>  	adc->iio_chans = devm_kcalloc(adc->dev, adc->nchannels,
>  				       sizeof(*adc->iio_chans), GFP_KERNEL);
> @@ -903,7 +903,7 @@ static int adc5_probe(struct platform_device *pdev)
>  
>  	ret = adc5_get_fw_data(adc);
>  	if (ret)
> -		return dev_err_probe(dev, ret, "adc get dt data failed\n");
> +		return ret;
>  
>  	irq_eoc = platform_get_irq(pdev, 0);
>  	if (irq_eoc < 0) {
> 
> ---
> base-commit: 58ca61c1a866bfdaa5e19fb19a2416764f847d75
> change-id: 20241004-spmi-adc5-no-channel-error-8c3203391103
> 
> Best regards,