On Sun, 2 Mar 2025 11:45:03 +0000 Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > 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. Dropped again after reviewing later patch. I think the volatile stuff should specify all registers that are volatile from the start not add them as we go. > > Jonathan