aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/abx500/ab8500.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-02-20 21:42:17 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2012-03-06 18:46:42 +0100
commit2ced445e2ddf65f484a489161accddf475676965 (patch)
tree0163f95ef6a77963937c4b195f109ae52276e280 /include/linux/mfd/abx500/ab8500.h
parentmfd: Add ab8500 version detection and enforcing (diff)
downloadlinux-dev-2ced445e2ddf65f484a489161accddf475676965.tar.xz
linux-dev-2ced445e2ddf65f484a489161accddf475676965.zip
mfd: Parametrize ab8500 IRQ masks and registers
This makes the AB8500 state struct contain the IRQ mask and register offsets previously hard-coded so as to make room for more AB8500 variants. Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@stericsson.com> Signed-off-by: Alex Macro <alex.macro@stericsson.com> Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd/abx500/ab8500.h')
-rw-r--r--include/linux/mfd/abx500/ab8500.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index 79892585c087..55eabe8b6ce6 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -175,6 +175,9 @@ enum ab8500_version {
* @tx_buf: tx buf for SPI
* @mask: cache of IRQ regs for bus lock
* @oldmask: cache of previous IRQ regs for bus lock
+ * @mask_size: Actual number of valid entries in mask[], oldmask[] and
+ * irq_reg_offset
+ * @irq_reg_offset: Array of offsets into IRQ registers
*/
struct ab8500 {
struct device *dev;
@@ -192,8 +195,10 @@ struct ab8500 {
unsigned long tx_buf[4];
unsigned long rx_buf[4];
- u8 mask[AB8500_NUM_IRQ_REGS];
- u8 oldmask[AB8500_NUM_IRQ_REGS];
+ u8 *mask;
+ u8 *oldmask;
+ int mask_size;
+ const int *irq_reg_offset;
};
struct regulator_reg_init;