diff options
author | Mark Brown <broonie@linaro.org> | 2013-10-29 00:01:33 +0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-10-29 00:01:33 +0400 |
commit | f2783f0e9cac215df5b7ee0a903adfeabde90b24 (patch) | |
tree | 5635cba8b9e97467326531caf0d3a4ba46abe038 /include/linux/regmap.h | |
parent | bee54e310e579c8760bc4e8215853c625d8c7895 (diff) | |
parent | a0102375ee82db1e08324b1a21484854cf2c1677 (diff) | |
download | linux-f2783f0e9cac215df5b7ee0a903adfeabde90b24.tar.xz |
Merge remote-tracking branch 'regmap/topic/field' into regmap-next
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r-- | include/linux/regmap.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 114565befbd2..dc90b8c134a1 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -431,11 +431,15 @@ bool regmap_reg_in_ranges(unsigned int reg, * @reg: Offset of the register within the regmap bank * @lsb: lsb of the register field. * @reg: msb of the register field. + * @id_size: port size if it has some ports + * @id_offset: address offset for each ports */ struct reg_field { unsigned int reg; unsigned int lsb; unsigned int msb; + unsigned int id_size; + unsigned int id_offset; }; #define REG_FIELD(_reg, _lsb, _msb) { \ @@ -454,6 +458,15 @@ void devm_regmap_field_free(struct device *dev, struct regmap_field *field); int regmap_field_read(struct regmap_field *field, unsigned int *val); int regmap_field_write(struct regmap_field *field, unsigned int val); +int regmap_field_update_bits(struct regmap_field *field, + unsigned int mask, unsigned int val); + +int regmap_fields_write(struct regmap_field *field, unsigned int id, + unsigned int val); +int regmap_fields_read(struct regmap_field *field, unsigned int id, + unsigned int *val); +int regmap_fields_update_bits(struct regmap_field *field, unsigned int id, + unsigned int mask, unsigned int val); /** * Description of an IRQ for the generic regmap irq_chip. |