diff options
author | Mark Brown <broonie@linaro.org> | 2013-10-10 21:55:03 +0200 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-10-10 22:15:21 +0200 |
commit | 1a25f26138cde2b83fd74ead6da0bbd4b6c42b60 (patch) | |
tree | 9bd9b387503f46ae504eaf0b2d8a05bbfb016aad /drivers/base | |
parent | regmap: Provide asynchronous write and update bits operations (diff) | |
download | linux-1a25f26138cde2b83fd74ead6da0bbd4b6c42b60.tar.xz linux-1a25f26138cde2b83fd74ead6da0bbd4b6c42b60.zip |
regmap: Use async I/O for patch application
Try to speed up patch application a little using async I/O.
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/regmap/regmap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 0503d868ff8c..71282e12fd29 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -2029,6 +2029,7 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs, bypass = map->cache_bypass; map->cache_bypass = true; + map->async = true; /* Write out first; it's useful to apply even if we fail later. */ for (i = 0; i < num_regs; i++) { @@ -2052,10 +2053,13 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs, } out: + map->async = false; map->cache_bypass = bypass; map->unlock(map->lock_arg); + regmap_async_complete(map); + return ret; } EXPORT_SYMBOL_GPL(regmap_register_patch); |