[PATCH v3] iio: accel: adxl380: fix handling of unavailable "INT1" interrupt

Francesco Lavra posted 1 patch 3 days, 4 hours ago
drivers/iio/accel/adxl380.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH v3] iio: accel: adxl380: fix handling of unavailable "INT1" interrupt
Posted by Francesco Lavra 3 days, 4 hours ago
fwnode_irq_get_byname() returns a negative value on failure; if a negative
value is returned, use it as `err` argument for dev_err_probe().
While at it, add a missing trailing newline to the dev_err_probe() error
message.

Fixes: df36de13677a ("iio: accel: add ADXL380 driver")
Signed-off-by: Francesco Lavra <flavra@baylibre.com>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
---
Changes from v2 [2]:
- added missing trailing newline to the dev_err_probe() error message
  (Andy)
- added Andy's Reviewed-by tag
Changes from v1 [1]:
- added fix to `err` argument passed to dev_err_probe() (Andy)

[1] https://lore.kernel.org/linux-iio/20251126144624.24512-1-flavra@baylibre.com/T/
[2] https://lore.kernel.org/linux-iio/20251128140726.243005-1-flavra@baylibre.com/T/

 drivers/iio/accel/adxl380.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/accel/adxl380.c b/drivers/iio/accel/adxl380.c
index 0cf3c6815829..6d82873357cb 100644
--- a/drivers/iio/accel/adxl380.c
+++ b/drivers/iio/accel/adxl380.c
@@ -1728,9 +1728,9 @@ static int adxl380_config_irq(struct iio_dev *indio_dev)
 		st->int_map[1] = ADXL380_INT0_MAP1_REG;
 	} else {
 		st->irq = fwnode_irq_get_byname(dev_fwnode(st->dev), "INT1");
-		if (st->irq > 0)
-			return dev_err_probe(st->dev, -ENODEV,
-					     "no interrupt name specified");
+		if (st->irq < 0)
+			return dev_err_probe(st->dev, st->irq,
+					     "no interrupt name specified\n");
 		st->int_map[0] = ADXL380_INT1_MAP0_REG;
 		st->int_map[1] = ADXL380_INT1_MAP1_REG;
 	}
-- 
2.39.5
Re: [PATCH v3] iio: accel: adxl380: fix handling of unavailable "INT1" interrupt
Posted by Nuno Sá 12 hours ago
On Fri, 2025-11-28 at 18:21 +0100, Francesco Lavra wrote:
> fwnode_irq_get_byname() returns a negative value on failure; if a negative
> value is returned, use it as `err` argument for dev_err_probe().
> While at it, add a missing trailing newline to the dev_err_probe() error
> message.
> 
> Fixes: df36de13677a ("iio: accel: add ADXL380 driver")
> Signed-off-by: Francesco Lavra <flavra@baylibre.com>
> Reviewed-by: Andy Shevchenko <andy@kernel.org>
> ---

Reviewed-by: Nuno Sá <nuno.sa@analog.com>

> Changes from v2 [2]:
> - added missing trailing newline to the dev_err_probe() error message
>   (Andy)
> - added Andy's Reviewed-by tag
> Changes from v1 [1]:
> - added fix to `err` argument passed to dev_err_probe() (Andy)
> 
> [1] https://lore.kernel.org/linux-iio/20251126144624.24512-1-flavra@baylibre.com/T/
> [2]
> https://lore.kernel.org/linux-iio/20251128140726.243005-1-flavra@baylibre.com/T/
> 
>  drivers/iio/accel/adxl380.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/accel/adxl380.c b/drivers/iio/accel/adxl380.c
> index 0cf3c6815829..6d82873357cb 100644
> --- a/drivers/iio/accel/adxl380.c
> +++ b/drivers/iio/accel/adxl380.c
> @@ -1728,9 +1728,9 @@ static int adxl380_config_irq(struct iio_dev *indio_dev)
>  		st->int_map[1] = ADXL380_INT0_MAP1_REG;
>  	} else {
>  		st->irq = fwnode_irq_get_byname(dev_fwnode(st->dev), "INT1");
> -		if (st->irq > 0)
> -			return dev_err_probe(st->dev, -ENODEV,
> -					     "no interrupt name specified");
> +		if (st->irq < 0)
> +			return dev_err_probe(st->dev, st->irq,
> +					     "no interrupt name specified\n");
>  		st->int_map[0] = ADXL380_INT1_MAP0_REG;
>  		st->int_map[1] = ADXL380_INT1_MAP1_REG;
>  	}