Re: [PATCH 0/8] regmap: Generic I2C and SPI register map library

From: Liam Girdwood
Date: Thu Jun 30 2011 - 13:15:24 EST


On 30/06/11 18:07, Liam Girdwood wrote:
> On 30/06/11 06:58, Mark Brown wrote:
>> [This revision of the series has some minor updates to the SPI code.]
>>
>> Many I2C and SPI based devices implement register maps on top of the raw
>> wire interface. This is generally done in a very standard fashion by
>> devices, resulting in a lot of very similar code in drivers. For some
>> time now ASoC has factored this code out into the subsystem but that's
>> only useful for audio devices. The intention with this series is to
>> generalise the concept so that it can be used throughout the kernel.
>>
>> It's not intended that this be suitable for all devices - some devices
>> have things that are hard to generalise like registers with variable
>> size and paging which are hard to support genericly. At the minute the
>> code is focused on the common cases. It is likely that the same code
>> could be used with other buses with similar properties to I2C and SPI.
>>
>> Currently only physical I/O is handled, the intention is that once this
>> support has been reviewed and merged the generic register cache code
>> that ASoC includes will also be factored out too. For devices with read
>> heavy workloads (especially those that need a lot of read/modify/write
>> cycles) or which don't support read at all this can provide a useful
>> performance improvement and for sparse register maps there's a lot of
>> benefit in relatively complex cache code.
>>
>> I'm not entirely happy with the implementation currently but am fairly
>> happy with the external interfaces.
>>
>
> I'm also happy with the interface and imho the code looks fine for initial integration.
>

Forgot this.

Acked-by: Liam Girdwood <lrg@xxxxxx>

--
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/