Browse Source

Merge remote-tracking branch 'regmap/topic/introspection' into regmap-next

Simple add/add conflict:
	drivers/base/regmap/regmap.c
Mark Brown 13 years ago
parent
commit
eae4b51b21
2 changed files with 16 additions and 0 deletions
  1. 15 0
      drivers/base/regmap/regmap.c
  2. 1 0
      include/linux/regmap.h

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

@@ -844,6 +844,21 @@ out:
 }
 EXPORT_SYMBOL_GPL(regmap_register_patch);
 
+/*
+ * regmap_get_val_bytes(): Report the size of a register value
+ *
+ * Report the size of a register value, mainly intended to for use by
+ * generic infrastructure built on top of regmap.
+ */
+int regmap_get_val_bytes(struct regmap *map)
+{
+	if (map->format.format_write)
+		return -EINVAL;
+
+	return map->format.val_bytes;
+}
+EXPORT_SYMBOL_GPL(regmap_get_val_bytes);
+
 static int __init regmap_initcall(void)
 {
 	regmap_debugfs_initcall();

+ 1 - 0
include/linux/regmap.h

@@ -156,6 +156,7 @@ int regmap_update_bits(struct regmap *map, unsigned int reg,
 int regmap_update_bits_check(struct regmap *map, unsigned int reg,
 			     unsigned int mask, unsigned int val,
 			     bool *change);
+int regmap_get_val_bytes(struct regmap *map);
 
 int regcache_sync(struct regmap *map);
 int regcache_sync_region(struct regmap *map, unsigned int min,