summaryrefslogtreecommitdiff
path: root/include/linux/regmap.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-21 12:01:14 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-23 14:01:18 +0000
commit22f0d90a34827812413bb3fbeda6a2a79bb58423 (patch)
treec54935a6e2637408da23aa261c81f89dffa0724e /include/linux/regmap.h
parentdcd6c92267155e70a94b3927bce681ce74b80d1f (diff)
downloadlwn-22f0d90a34827812413bb3fbeda6a2a79bb58423.tar.gz
lwn-22f0d90a34827812413bb3fbeda6a2a79bb58423.zip
regmap: Support register patch sets
Device manufacturers frequently provide register sequences, usually not fully documented, to be run at startup in order to provide better defaults for devices (for example, improving performance in the light of silicon evaluation). Support such updates by allowing drivers to register update sets with the core. These updates will be written to the device immediately and will also be rewritten when the cache is synced. The assumption is that the reason for resyncing the cache will always be that the device has been powered off. If this turns out to not be the case then a separate operation can be provided. Currently the implementation only allows a single set of updates to be specified for a device, this could be extended in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r--include/linux/regmap.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index eb93921cdd30..860739a8a6dd 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -149,6 +149,9 @@ 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);
+int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
+ int num_regs);
+
/**
* Description of an IRQ for the generic regmap irq_chip.
*