On Thu, 15 Feb 2024 19:03:27 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > On Thu, Feb 15, 2024 at 05:43:32PM +0100, Vasileios Amoiridis wrote: > > According to the datasheet of BMP38x and BMP390 devices, in SPI > > operation, the first byte that returns after a read operation is > > garbage and it needs to be dropped and return the rest of the > > bytes. > > Thank you for the patch, my comments below. > > ... > > > +static int bmp380_regmap_spi_read(void *context, const void *reg, > > + size_t reg_size, void *val, size_t val_size) > > +{ > > + struct spi_device *spi = to_spi_device(context); > > + u8 ret[BMP380_SPI_MAX_REG_COUNT_READ + 1]; > > + ssize_t status; > > + u8 buf; > > AFAIU this buffer is not DMA-capable. Doesn't matter in this case as spi_write_then_read() bounces anyway so you don't need to provide it with a dma safe buffer. It's in the docs, so we can rely on this not changing. https://elixir.bootlin.com/linux/latest/source/drivers/spi/spi.c#L4391