Re: Regmap bulk read styles.

From: Mark Brown
Date: Mon Sep 05 2011 - 11:19:30 EST


On Mon, Sep 05, 2011 at 03:49:14PM +0100, Jonathan Cameron wrote:

> The burst read is pretty much what you have covered by
> regmap_bulk_read. I assume an implementation for spi
> doing

> TX Addr1 XXXXX XXXXX XXXXX XXXXX
> RX XXXXX Data1 Data2 Data3 Data4 ...

> would be general enough to be worth providing? Any device
> that doesn't understand this should simply not use it.

Yes, that's the assumption the code is making for all buses.

> The second is more interesting. It actually looks quite like
> your gather write. We have a set of registers that we need
> to read. A classic example is that a coherent set will only
> be received (e.g. valid at an instant in time) if we read
> all channels of an accelerometer in one go (between chip selects).

> Would you be in favour of an interface to handle this use case
> or is it better just to bypass regmap for this use case?
> (which would be a pity as it leads to duplication as all the
> configuration stuff fits nicely).

If you can come up with a tasteful interface for doing this I wouldn't
object but my suspicion is that it's going to be easier to reimplement.
It does seem useful, I'm just worried about how the interface would
look.

> As an aside, isn't your gather write more typically described
> as a scatter write? (writes one coherent set to a number of
> disjoint locations?)

On the write side it's generally a gather (reading from different
locations and writing out a continuous stream) while on the read side
it's generally a scatter (reading a continuous data stream and writing
it to multiple locations). The gather here refers to getting data from
more than one place and using it to transmit a single byte stream.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/