[PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw

Markus Pargmann mpa at pengutronix.de
Wed Aug 12 03:12:32 PDT 2015


The implementation of regmap bus read() and write() methods are
optional. Therefore we have to handle busses which do not have these
functions. If raw read() and write() is not supported we have to use
reg_read and reg_write always.

This patch sets use_single_rw if read() or write() is not set.

Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
---
 drivers/base/regmap/regmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index f98bd5bf5c62..35ad3783da70 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -573,7 +573,7 @@ struct regmap *regmap_init(struct device *dev,
 		map->reg_stride = config->reg_stride;
 	else
 		map->reg_stride = 1;
-	map->use_single_rw = config->use_single_rw;
+	map->use_single_rw = config->use_single_rw || !bus->read || !bus->write;
 	map->can_multi_write = config->can_multi_write;
 	map->dev = dev;
 	map->bus = bus;
-- 
2.4.6




More information about the linux-arm-kernel mailing list