Messages in this thread | | | Date | Tue, 21 Jun 2011 02:00:07 +0200 | From | Lars-Peter Clausen <> | Subject | Re: [PATCH 3/8] regmap: Add SPI bus support |
| |
On 06/21/2011 01:45 AM, Mark Brown wrote: > 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?
hm, right, I overlooked that val could be on the stack. I though we were always using some kind of bounce buffer internally.
| |