summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-02-21 19:34:01 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-02-21 19:34:01 +0000
commit82150451816ac6d735d8f90babe102636121d67e (patch)
tree25b588eeba2443d93804f2c8c7196c706c420f05 /drivers/base
parent8949490f70cf2cda615fb0fd0ddc299b531e6e48 (diff)
parenta6539c32949063c8147905512a83a98842c2d254 (diff)
Merge tag 'topic/introspection' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into HEAD
New interfaces to allow other subsystems to gather information about the regmap, allowing them to build further subsystem specific generic features on top of the regmap. Merged into ASoC in order to allow us to implement SND_SOC_BYTES_MASK() controls which need to know the word size of the underlying registers.
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regmap.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 2cf4bbc5d30..7ac234f0b1c 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -730,6 +730,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();