Re: [PATCH v3 04/15] iio: accel: adxl345: use regmap cache for INT mapping

From: Jonathan Cameron
Date: Sun Mar 02 2025 - 06:45:24 EST


On Thu, 20 Feb 2025 10:42:23 +0000
Lothar Rubusch <l.rubusch@xxxxxxxxx> wrote:

> Use regmap cache to replace maintaining the member variable intio
> for the interrupt mapping state. The interrupt mapping is initialized
> when the driver is probed, and it is perfectly cacheable.
>
> The patch will still leave the function set_interrupts(). A follow up
> patch takes care of it, when cleaning up the INT enable register
> variable.
>
> Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx>
> ---
> drivers/iio/accel/adxl345.h | 4 ++
> drivers/iio/accel/adxl345_core.c | 63 ++++++++++++++++++++------------
> drivers/iio/accel/adxl345_i2c.c | 2 +
> drivers/iio/accel/adxl345_spi.c | 2 +
> 4 files changed, 48 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h
> index bc6d634bd85c..a2a81caa292a 100644
> --- a/drivers/iio/accel/adxl345.h
> +++ b/drivers/iio/accel/adxl345.h
> @@ -8,6 +8,8 @@
> #ifndef _ADXL345_H_
> #define _ADXL345_H_
>
> +#include <linux/regmap.h>

Why add this include?

The file should have a forwards def of
struct regmap;
which is currently missing. If you clean that up in this patch that
is fine (mention it in the patch description though as it isn't
directly related) but I don't see a reason to include regmap.h here.

Given rest if fine I'll tweak this whilst applying. Applied to the
togreg branch of iio.git, pushed out for now as testing for 0-day
to poke at it.

Also move to a newer kernel tree. The changes in export symbol
should be causing you build errors for this path. I'll fix that up.
Quotes now needed around IIO_ADXL345 in the EXPORT_SYMBOL_NS_GPL()
calls. I fixed that up.

Jonathan