Re: [PATCH v5 07/10] iio: accel: adxl345: introduce interrupt handling

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

 



On Thu,  5 Dec 2024 17:13:40 +0000
Lothar Rubusch <l.rubusch@xxxxxxxxx> wrote:

> Add the possibility to claim an interrupt. Init the state structure
> with an interrupt line obtained from the DT. The adxl345 can use
> two different interrupt lines for event handling. Only one is used.
> 
> Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx>
> ---
>  drivers/iio/accel/adxl345_core.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c
> index 1d020b0d79c..e0a8b32239f 100644
> --- a/drivers/iio/accel/adxl345_core.c
> +++ b/drivers/iio/accel/adxl345_core.c
> @@ -11,6 +11,7 @@
>  #include <linux/property.h>
>  #include <linux/regmap.h>
>  #include <linux/units.h>
> +#include <linux/interrupt.h>
>  
>  #include <linux/iio/iio.h>
>  #include <linux/iio/sysfs.h>
> @@ -18,8 +19,10 @@
>  #include "adxl345.h"
>  
>  struct adxl345_state {
> +	int irq;
Ordering is non obvious. I'd keep the pointers first and have
this before intio.
>  	const struct adxl345_chip_info *info;
>  	struct regmap *regmap;
> +	u8 intio;
>  };
>  
>  #define ADXL345_CHANNEL(index, axis) {					\
> @@ -212,6 +215,17 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap,
>  
>  	st = iio_priv(indio_dev);
>  	st->regmap = regmap;
> +
> +	st->intio = -1;
It's a u8 so negative doesn't seem sensible choice.

> +	st->irq = fwnode_irq_get_byname(dev_fwnode(dev), "INT1");
> +	if (st->irq > 0)
Where one leg needs {} convention is to use it for all of them.
https://www.kernel.org/doc/html/v4.10/process/coding-style.html#placing-braces-and-spaces
last part.



> +		st->intio = ADXL345_INT1;
> +	else {
> +		st->irq = fwnode_irq_get_byname(dev_fwnode(dev), "INT2");
> +		if (st->irq > 0)
> +			st->intio = ADXL345_INT2;
> +	}
> +
>  	st->info = device_get_match_data(dev);
>  	if (!st->info)
>  		return -ENODEV;





[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