Re: [PATCH v2 10/22] iio: accel: adxl345: set interrupt line to INT1

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

 



On Sun, 17 Nov 2024 18:26:39 +0000
Lothar Rubusch <l.rubusch@xxxxxxxxx> wrote:

> The adxl345 sensor uses one of two interrupt lines, INT1 or INT2. The
> interrupt lines are used to signal feature events such as watermark
> reached, single tap, double tap, activity, etc. Only one interrupt line
> is used and must be configured. The adxl345 default is to use INT1 and
> in many installations only INT1 is even connected. Therefore configure
> INT1 as the sensor's default interrupt line.
In others only INT2 is connected. Hence earlier comment and you will need
the driver to detect which is connected by using interrupt names
and then set this up appropriately.

It would be fine to also have the driver just fail to probe on the
INT2 only case, but you must check for it rather than routing interrupts
to a potentially unconnected pin.

Jonathan

> 
> Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx>
> ---
>  drivers/iio/accel/adxl345_core.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c
> index c8d9e1f9e0..32163cfe6f 100644
> --- a/drivers/iio/accel/adxl345_core.c
> +++ b/drivers/iio/accel/adxl345_core.c
> @@ -131,6 +131,7 @@ struct adxl34x_state {
>  	const struct adxl345_chip_info *info;
>  	struct regmap *regmap;
>  	bool fifo_delay; /* delay: delay is needed for SPI */
> +	u8 intio;
>  };
>  
>  #define ADXL345_CHANNEL(index, axis) {					\
> @@ -345,6 +346,7 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap,
>  		return -ENODEV;
>  
>  	st->fifo_delay = fifo_delay_default;
> +	st->intio = ADXL345_INT1;
>  
>  	indio_dev->name = st->info->name;
>  	indio_dev->info = &adxl345_info;





[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