aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGraeme Gregory <gg@slimlogic.co.uk>2012-05-14 09:40:43 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-14 12:40:05 -0400
commit022f926a2401c80ed36ebb48a1bffbac08f34d98 (patch)
tree7e39452a4312890ae6835f29ef87844467a5b2e0 /include
parent4af8be67fd9989f4e63a8d1defc1895ed0f7d341 (diff)
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')
-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 720866887ae3..56af22ec9aba 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -219,6 +219,7 @@ struct regmap_irq {
219 * @status_base: Base status register address. 219 * @status_base: Base status register address.
220 * @mask_base: Base mask register address. 220 * @mask_base: Base mask register address.
221 * @ack_base: Base ack address. If zero then the chip is clear on read. 221 * @ack_base: Base ack address. If zero then the chip is clear on read.
222 * @irq_reg_stride: Stride to use for chips where registers are not contiguous.
222 * 223 *
223 * @num_regs: Number of registers in each control bank. 224 * @num_regs: Number of registers in each control bank.
224 * @irqs: Descriptors for individual IRQs. Interrupt numbers are 225 * @irqs: Descriptors for individual IRQs. Interrupt numbers are
@@ -231,6 +232,7 @@ struct regmap_irq_chip {
231 unsigned int status_base; 232 unsigned int status_base;
232 unsigned int mask_base; 233 unsigned int mask_base;
233 unsigned int ack_base; 234 unsigned int ack_base;
235 unsigned int irq_reg_stride;
234 236
235 int num_regs; 237 int num_regs;
236 238