summaryrefslogtreecommitdiffstats
path: root/include/linux/regmap.h
diff options
context:
space:
mode:
authorMark Brown2012-02-23 21:53:37 +0100
committerMark Brown2012-02-24 15:52:41 +0100
commit4d4cfd1656b5f6c88eae51c40741a695b108b006 (patch)
treec20b71443a4643122523ccdb2a9034a389a52374 /include/linux/regmap.h
parentregmap: Supply ranges to the sync operations (diff)
downloadkernel-qcow2-linux-4d4cfd1656b5f6c88eae51c40741a695b108b006.tar.gz
kernel-qcow2-linux-4d4cfd1656b5f6c88eae51c40741a695b108b006.tar.xz
kernel-qcow2-linux-4d4cfd1656b5f6c88eae51c40741a695b108b006.zip
regmap: Allow drivers to sync only part of the register cache
Provide a regcache_sync_region() operation which allows drivers to write only part of the cache back to the hardware. This is intended for use in cases like power domains or DSP memories where part of the device register map may be reset without fully resetting the device. Fully supporting these devices is likely to require additional work to make specific regions of the register map cache only while they are in reset, but this is enough for most devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r--include/linux/regmap.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 860739a8a6dd..5ff7d44730e5 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -145,6 +145,8 @@ int regmap_update_bits_check(struct regmap *map, unsigned int reg,
bool *change);
int regcache_sync(struct regmap *map);
+int regcache_sync_region(struct regmap *map, unsigned int min,
+ unsigned int max);
void regcache_cache_only(struct regmap *map, bool enable);
void regcache_cache_bypass(struct regmap *map, bool enable);
void regcache_mark_dirty(struct regmap *map);