summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-05 20:46:32 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-09 20:05:46 +0200
commit069af897f9a3f70248d4a7ba3d3d439f7cd66d92 (patch)
tree49a06943ccf75e3b7006a4938571ffb9a19d4457
parentregmap: Allow drivers to specify register defaults (diff)
downloadlinux-069af897f9a3f70248d4a7ba3d3d439f7cd66d92.tar.xz
linux-069af897f9a3f70248d4a7ba3d3d439f7cd66d92.zip
regmap: Provide device read and write map interface for merging
Add the externally visible interface introduced by Lars-Peter's commit 6f3064 (regmap: Add support for device specific write and read flag masks) separately in order to allow merge into other subsystems for integration with drivers. Drivers relying on this feature will not be functional until they are merged with the implementation. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--include/linux/regmap.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index e2200f21c602..003c05349ae5 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -53,6 +53,12 @@ struct reg_default {
* @reg_defaults: Power on reset values for registers (for use with
* register cache support).
* @num_reg_defaults: Number of elements in reg_defaults.
+ *
+ * @read_flag_mask: Mask to be set in the top byte of the register when doing
+ * a read.
+ * @write_flag_mask: Mask to be set in the top byte of the register when doing
+ * a write. If both read_flag_mask and write_flag_mask are
+ * empty the regmap_bus default masks are used.
*/
struct regmap_config {
int reg_bits;
@@ -66,6 +72,9 @@ struct regmap_config {
unsigned int max_register;
struct reg_default *reg_defaults;
int num_reg_defaults;
+
+ u8 read_flag_mask;
+ u8 write_flag_mask;
};
typedef int (*regmap_hw_write)(struct device *dev, const void *data,