[PATCH] regmap: Use async I/O for patch application

From: Mark Brown
Date: Thu Oct 10 2013 - 16:02:21 EST


From: Mark Brown <broonie@xxxxxxxxxx>

Try to speed up patch application a little using async I/O.

Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
drivers/base/regmap/regmap.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index ccdac61..437f7f6 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -2132,6 +2132,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++) {
@@ -2155,10 +2156,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);
--
1.8.4.rc3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/