All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] regmap: Return a sensible error code if we fail to read the cache
@ 2011-10-09 13:44 Mark Brown
  2011-10-09 13:44 ` [PATCH 2/2] regmap: Allow caches for devices with no defaults Mark Brown
  2011-10-10  9:03 ` [PATCH 1/2] regmap: Return a sensible error code if we fail to read the cache Dimitris Papastamos
  0 siblings, 2 replies; 8+ messages in thread
From: Mark Brown @ 2011-10-09 13:44 UTC (permalink / raw)
  To: dp; +Cc: linux-kernel, patches, Mark Brown

If a register isn't cached then let callers know that so they can fall
back or error handle appropriately.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/base/regmap/regcache-indexed.c |    7 +++----
 drivers/base/regmap/regcache-lzo.c     |    4 ++--
 drivers/base/regmap/regcache-rbtree.c  |    3 +--
 drivers/base/regmap/regcache.c         |    2 +-
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/base/regmap/regcache-indexed.c b/drivers/base/regmap/regcache-indexed.c
index 2e10bb1..507731a 100644
--- a/drivers/base/regmap/regcache-indexed.c
+++ b/drivers/base/regmap/regcache-indexed.c
@@ -20,11 +20,10 @@ static int regcache_indexed_read(struct regmap *map, unsigned int reg,
 	int ret;
 
 	ret = regcache_lookup_reg(map, reg);
-	if (ret < 0)
-		*value = 0;
-	else
+	if (ret >= 0)
 		*value = map->reg_defaults[ret].def;
-	return 0;
+
+	return ret;
 }
 
 static int regcache_indexed_write(struct regmap *map, unsigned int reg,
diff --git a/drivers/base/regmap/regcache-lzo.c b/drivers/base/regmap/regcache-lzo.c
index ad6af92..066aeec 100644
--- a/drivers/base/regmap/regcache-lzo.c
+++ b/drivers/base/regmap/regcache-lzo.c
@@ -232,7 +232,6 @@ static int regcache_lzo_read(struct regmap *map,
 	size_t blksize, tmp_dst_len;
 	void *tmp_dst;
 
-	*value = 0;
 	/* index of the compressed lzo block */
 	blkindex = regcache_lzo_get_blkindex(map, reg);
 	/* register index within the decompressed block */
@@ -261,7 +260,8 @@ static int regcache_lzo_read(struct regmap *map,
 	/* restore the pointer and length of the compressed block */
 	lzo_block->dst = tmp_dst;
 	lzo_block->dst_len = tmp_dst_len;
-	return 0;
+
+	return ret;
 }
 
 static int regcache_lzo_write(struct regmap *map,
diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c
index f80eebc..e314984 100644
--- a/drivers/base/regmap/regcache-rbtree.c
+++ b/drivers/base/regmap/regcache-rbtree.c
@@ -193,8 +193,7 @@ static int regcache_rbtree_read(struct regmap *map,
 		*value = regcache_rbtree_get_register(rbnode, reg_tmp,
 						      map->cache_word_size);
 	} else {
-		/* uninitialized registers default to 0 */
-		*value = 0;
+		return -ENOENT;
 	}
 
 	return 0;
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index bf82783..67c7703 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -379,7 +379,7 @@ int regcache_lookup_reg(struct regmap *map, unsigned int reg)
 	if (r)
 		return r - map->reg_defaults;
 	else
-		return -1;
+		return -ENOENT;
 }
 
 int regcache_insert_reg(struct regmap *map, unsigned int reg,
-- 
1.7.6.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-10-10 10:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-09 13:44 [PATCH 1/2] regmap: Return a sensible error code if we fail to read the cache Mark Brown
2011-10-09 13:44 ` [PATCH 2/2] regmap: Allow caches for devices with no defaults Mark Brown
2011-10-09 17:43   ` Valdis.Kletnieks
2011-10-09 19:34     ` Mark Brown
2011-10-10  8:41   ` Dimitris Papastamos
2011-10-10  9:23     ` Mark Brown
2011-10-10 10:50       ` Dimitris Papastamos
2011-10-10  9:03 ` [PATCH 1/2] regmap: Return a sensible error code if we fail to read the cache Dimitris Papastamos

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.