summaryrefslogtreecommitdiff
path: root/include/linux/regmap.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-15 12:57:42 +0900
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-15 12:57:42 +0900
commit2570a3719cd748899d9e9e8407eb0d9027df2a94 (patch)
tree2eb2819e880060486d36665113e8da5c460383fc /include/linux/regmap.h
parent6e87badd3f38e1a095d6e1b13828246c3e8486b5 (diff)
parent8a2ceac6617a67d8a1ee4bd255743d577bde311a (diff)
Merge tag 'regmap/range' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-wm2200
regmap: Range API changes A bunch of updates to the regmap range support, the most important ones being to rename "n_ranges" to "num_ranges" for consistency and to allow block writes to cross page boundaries, making things more transparent.
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r--include/linux/regmap.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 7f7e00df3adf..9f228d7f7ac4 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -133,7 +133,7 @@ struct regmap_config {
enum regmap_endian val_format_endian;
const struct regmap_range_cfg *ranges;
- unsigned int n_ranges;
+ unsigned int num_ranges;
};
/**
@@ -142,6 +142,8 @@ struct regmap_config {
* 1. page selector register update;
* 2. access through data window registers.
*
+ * @name: Descriptive name for diagnostics
+ *
* @range_min: Address of the lowest register address in virtual range.
* @range_max: Address of the highest register in virtual range.
*
@@ -153,6 +155,8 @@ struct regmap_config {
* @window_len: Number of registers in data window.
*/
struct regmap_range_cfg {
+ const char *name;
+
/* Registers of virtual address range */
unsigned int range_min;
unsigned int range_max;
@@ -285,6 +289,7 @@ struct regmap_irq {
* @ack_base: Base ack address. If zero then the chip is clear on read.
* @wake_base: Base address for wake enables. If zero unsupported.
* @irq_reg_stride: Stride to use for chips where registers are not contiguous.
+ * @runtime_pm: Hold a runtime PM lock on the device when accessing it.
*
* @num_regs: Number of registers in each control bank.
* @irqs: Descriptors for individual IRQs. Interrupt numbers are
@@ -299,6 +304,8 @@ struct regmap_irq_chip {
unsigned int ack_base;
unsigned int wake_base;
unsigned int irq_reg_stride;
+ unsigned int mask_invert;
+ bool runtime_pm;
int num_regs;