Browse Source

Merge remote-tracking branch 'regmap/topic/cache' into regmap-rbtree

Mark Brown 12 years ago
parent
commit
65c180fd95
3 changed files with 4 additions and 4 deletions
  1. 1 1
      drivers/base/regmap/internal.h
  2. 0 3
      drivers/base/regmap/regcache.c
  3. 3 0
      drivers/base/regmap/regmap.c

+ 1 - 1
drivers/base/regmap/internal.h

@@ -223,7 +223,7 @@ int regcache_set_reg_present(struct regmap *map, unsigned int reg);
 static inline bool regcache_reg_present(struct regmap *map, unsigned int reg)
 {
 	if (!map->cache_present)
-		return true;
+		return false;
 	if (reg > map->cache_present_nbits)
 		return false;
 	return map->cache_present[BIT_WORD(reg)] & BIT_MASK(reg);

+ 0 - 3
drivers/base/regmap/regcache.c

@@ -241,9 +241,6 @@ int regcache_write(struct regmap *map,
 
 	BUG_ON(!map->cache_ops);
 
-	if (!regmap_writeable(map, reg))
-		return -EIO;
-
 	if (!regmap_volatile(map, reg))
 		return map->cache_ops->write(map, reg, value);
 

+ 3 - 0
drivers/base/regmap/regmap.c

@@ -1261,6 +1261,9 @@ int _regmap_write(struct regmap *map, unsigned int reg,
 	int ret;
 	void *context = _regmap_map_get_context(map);
 
+	if (!regmap_writeable(map, reg))
+		return -EIO;
+
 	if (!map->cache_bypass && !map->defer_caching) {
 		ret = regcache_write(map, reg, val);
 		if (ret != 0)