regmap: Implement regcache_cache_bypass helper function
Ensure we've got a function so users can enable/disable the cache bypass option. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
beb1a10f21
commit
6eb0f5e015
@ -286,6 +286,25 @@ void regcache_cache_only(struct regmap *map, bool enable)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(regcache_cache_only);
|
||||
|
||||
/**
|
||||
* regcache_cache_bypass: Put a register map into cache bypass mode
|
||||
*
|
||||
* @map: map to configure
|
||||
* @cache_only: flag if changes should not be written to the hardware
|
||||
*
|
||||
* When a register map is marked with the cache bypass option, writes
|
||||
* to the register map API will only update the hardware and not the
|
||||
* the cache directly. This is useful when syncing the cache back to
|
||||
* the hardware.
|
||||
*/
|
||||
void regcache_cache_bypass(struct regmap *map, bool enable)
|
||||
{
|
||||
mutex_lock(&map->lock);
|
||||
map->cache_bypass = enable;
|
||||
mutex_unlock(&map->lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(regcache_cache_bypass);
|
||||
|
||||
bool regcache_set_val(void *base, unsigned int idx,
|
||||
unsigned int val, unsigned int word_size)
|
||||
{
|
||||
|
@ -142,5 +142,6 @@ int regmap_update_bits(struct regmap *map, unsigned int reg,
|
||||
|
||||
int regcache_sync(struct regmap *map);
|
||||
void regcache_cache_only(struct regmap *map, bool enable);
|
||||
void regcache_cache_bypass(struct regmap *map, bool enable);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user