Re: [PATCH 1/2] regmap: cache: Fix regcache_sync_block for non-autoincrementing devices

From: Mark Brown
Date: Wed Aug 27 2014 - 07:58:51 EST


On Tue, Aug 26, 2014 at 05:03:12PM +0300, Jarkko Nikula wrote:
> Commit 75a5f89f635c ("regmap: cache: Write consecutive registers in a single
> block write") expected that autoincrementing writes are supported if
> hardware has a register format which can support raw writes.
>
> This is not necessarily true and thus for instance rbtree sync can fail when
> there is need to sync multiple consecutive registers but block write to
> device fails due not supported autoincrementing writes.
>
> Fix this by spliting raw block sync to series of single register writes for
> devices that don't support autoincrementing writes.

This seems like the wrong place for this - we already have a one
register at a time mechanism for syncing the registers, making the block
write scheme able to do it as well is rather missing the point. Better
to move the check into sync_block() instead.

Attachment: signature.asc
Description: Digital signature