On Thu, 5 Dec 2024 17:13:41 +0000 Lothar Rubusch <l.rubusch@xxxxxxxxx> wrote: > Add the possibility to delay FIFO access when SPI is used. According to > the datasheet this is needed for the adxl345. When initialization > happens over SPI the need for delay is to be signalized, and the delay > will be used. > > Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx> Hi Lothar, 1 trivial comment below. Jonathan > diff --git a/drivers/iio/accel/adxl345_spi.c b/drivers/iio/accel/adxl345_spi.c > index 61fd9a6f5fc..9829d5d3d43 100644 > --- a/drivers/iio/accel/adxl345_spi.c > +++ b/drivers/iio/accel/adxl345_spi.c > @@ -12,6 +12,7 @@ > #include "adxl345.h" > > #define ADXL345_MAX_SPI_FREQ_HZ 5000000 > +#define ADXL345_MAX_FREQ_NO_FIFO_DELAY 1500000 > > static const struct regmap_config adxl345_spi_regmap_config = { > .reg_bits = 8, > @@ -28,6 +29,7 @@ static int adxl345_spi_setup(struct device *dev, struct regmap *regmap) > static int adxl345_spi_probe(struct spi_device *spi) > { > struct regmap *regmap; > + bool needs_delay; > > /* Bail out if max_speed_hz exceeds 5 MHz */ > if (spi->max_speed_hz > ADXL345_MAX_SPI_FREQ_HZ) > @@ -38,10 +40,11 @@ static int adxl345_spi_probe(struct spi_device *spi) > if (IS_ERR(regmap)) > return dev_err_probe(&spi->dev, PTR_ERR(regmap), "Error initializing regmap\n"); > > + needs_delay = (spi->max_speed_hz > ADXL345_MAX_FREQ_NO_FIFO_DELAY); Excess brackets. I'd drop them. > if (spi->mode & SPI_3WIRE) > - return adxl345_core_probe(&spi->dev, regmap, adxl345_spi_setup); > + return adxl345_core_probe(&spi->dev, regmap, needs_delay, adxl345_spi_setup); > else > - return adxl345_core_probe(&spi->dev, regmap, NULL); > + return adxl345_core_probe(&spi->dev, regmap, needs_delay, NULL); > } > > static const struct adxl345_chip_info adxl345_spi_info = {