Re: Regmap bulk read styles.

From: Jonathan Cameron
Date: Mon Sep 05 2011 - 11:28:20 EST


On 09/05/11 16:19, Mark Brown wrote:
> 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.
Cool. If no one else does it in the meantime I'll add that one.
>
>> 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.
I'll have a think at some point and get back to you.
>
>> 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/