aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regmap.h
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-10-28 16:01:33 -0400
committerMark Brown <broonie@linaro.org>2013-10-28 16:01:33 -0400
commitf2783f0e9cac215df5b7ee0a903adfeabde90b24 (patch)
tree5635cba8b9e97467326531caf0d3a4ba46abe038 /include/linux/regmap.h
parentbee54e310e579c8760bc4e8215853c625d8c7895 (diff)
parenta0102375ee82db1e08324b1a21484854cf2c1677 (diff)
Merge remote-tracking branch 'regmap/topic/field' into regmap-next
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r--include/linux/regmap.h13
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,
431 * @reg: Offset of the register within the regmap bank 431 * @reg: Offset of the register within the regmap bank
432 * @lsb: lsb of the register field. 432 * @lsb: lsb of the register field.
433 * @reg: msb of the register field. 433 * @reg: msb of the register field.
434 * @id_size: port size if it has some ports
435 * @id_offset: address offset for each ports
434 */ 436 */
435struct reg_field { 437struct reg_field {
436 unsigned int reg; 438 unsigned int reg;
437 unsigned int lsb; 439 unsigned int lsb;
438 unsigned int msb; 440 unsigned int msb;
441 unsigned int id_size;
442 unsigned int id_offset;
439}; 443};
440 444
441#define REG_FIELD(_reg, _lsb, _msb) { \ 445#define REG_FIELD(_reg, _lsb, _msb) { \
@@ -454,6 +458,15 @@ void devm_regmap_field_free(struct device *dev, struct regmap_field *field);
454 458
455int regmap_field_read(struct regmap_field *field, unsigned int *val); 459int regmap_field_read(struct regmap_field *field, unsigned int *val);
456int regmap_field_write(struct regmap_field *field, unsigned int val); 460int regmap_field_write(struct regmap_field *field, unsigned int val);
461int regmap_field_update_bits(struct regmap_field *field,
462 unsigned int mask, unsigned int val);
463
464int regmap_fields_write(struct regmap_field *field, unsigned int id,
465 unsigned int val);
466int regmap_fields_read(struct regmap_field *field, unsigned int id,
467 unsigned int *val);
468int regmap_fields_update_bits(struct regmap_field *field, unsigned int id,
469 unsigned int mask, unsigned int val);
457 470
458/** 471/**
459 * Description of an IRQ for the generic regmap irq_chip. 472 * Description of an IRQ for the generic regmap irq_chip.