summaryrefslogtreecommitdiff
path: root/include/linux/regmap.h
diff options
context:
space:
mode:
authorGraeme Gregory <gg@slimlogic.co.uk>2012-05-14 13:40:43 (GMT)
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-14 16:40:05 (GMT)
commit022f926a2401c80ed36ebb48a1bffbac08f34d98 (patch)
tree7e39452a4312890ae6835f29ef87844467a5b2e0 /include/linux/regmap.h
parent4af8be67fd9989f4e63a8d1defc1895ed0f7d341 (diff)
downloadlinux-fsl-qoriq-022f926a2401c80ed36ebb48a1bffbac08f34d98.tar.xz
regmap: add support for non contiguous status to regmap-irq
In some chips the IRQ status registers are not contiguous in the register map but spaced at even spaces. This is an easy case to handle with minor changes. It is assume for this purpose that the stride for status is equal to the stride for mask/ack registers as well. Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r--include/linux/regmap.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 7208668..56af22e 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -219,6 +219,7 @@ struct regmap_irq {
* @status_base: Base status register address.
* @mask_base: Base mask register address.
* @ack_base: Base ack address. If zero then the chip is clear on read.
+ * @irq_reg_stride: Stride to use for chips where registers are not contiguous.
*
* @num_regs: Number of registers in each control bank.
* @irqs: Descriptors for individual IRQs. Interrupt numbers are
@@ -231,6 +232,7 @@ struct regmap_irq_chip {
unsigned int status_base;
unsigned int mask_base;
unsigned int ack_base;
+ unsigned int irq_reg_stride;
int num_regs;