Re: [PATCH 3/8] regmap: Add SPI bus support

Mark Brown
2011-06-20T23:45:17Z

On Tue, Jun 21, 2011 at 01:26:48AM +0200, Lars-Peter Clausen wrote:
> On 06/20/2011 02:54 PM, Mark Brown wrote:

> > +static int regmap_spi_read(struct device *dev,
> > + const void *reg, size_t reg_size,
> > + void *val, size_t val_size)
> > +{
> > + struct spi_device *spi = to_spi_device(dev);

> > + return spi_write_then_read(spi, reg, reg_size, val, val_size);

> spi_write_then_read will use a bounce buffer internally, since we already have
> our own bounce buffer it is probably better to use the low-level spi interface
> directly in this case.

I've got this horrible feeling that if we try that we'll discover that
the reason the SPI API does this internally is just as valid here - if I
remember correctly it's doing this due to restrictions on DMA from the
stack and I'd strongly expect val to end up on the stack for registers.
Or to look at it from the other point of view if we don't need the
bounce buffers then why does spi_write_then_read() need them?