aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/wm8994
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-05-06 11:12:56 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2013-06-11 13:27:52 -0400
commit7c8844481a1c16c10fa9be4ce95be5725aed6ce3 (patch)
tree7533110930172ae82fa38ee8531a70ecd50ed8ca /include/linux/mfd/wm8994
parentfc83f586adf3b86ff7046478497b4a53b2220be8 (diff)
mfd: wm8994: Emulate level triggered interrupts if required
The interrupt controller on the wm8994 series of devices requires a level triggered parent. If one is not available but a GPIO is available for the interrupt then emulate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd/wm8994')
-rw-r--r--include/linux/mfd/wm8994/core.h2
-rw-r--r--include/linux/mfd/wm8994/pdata.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mfd/wm8994/core.h b/include/linux/mfd/wm8994/core.h
index ae5c249530b4..40854ac0ba3d 100644
--- a/include/linux/mfd/wm8994/core.h
+++ b/include/linux/mfd/wm8994/core.h
@@ -29,6 +29,7 @@ enum wm8994_type {
29 29
30struct regulator_dev; 30struct regulator_dev;
31struct regulator_bulk_data; 31struct regulator_bulk_data;
32struct irq_domain;
32 33
33#define WM8994_NUM_GPIO_REGS 11 34#define WM8994_NUM_GPIO_REGS 11
34#define WM8994_NUM_LDO_REGS 2 35#define WM8994_NUM_LDO_REGS 2
@@ -73,6 +74,7 @@ struct wm8994 {
73 74
74 int irq; 75 int irq;
75 struct regmap_irq_chip_data *irq_data; 76 struct regmap_irq_chip_data *irq_data;
77 struct irq_domain *edge_irq;
76 78
77 /* Used over suspend/resume */ 79 /* Used over suspend/resume */
78 bool suspended; 80 bool suspended;
diff --git a/include/linux/mfd/wm8994/pdata.h b/include/linux/mfd/wm8994/pdata.h
index 68e776594889..90e9bf86e643 100644
--- a/include/linux/mfd/wm8994/pdata.h
+++ b/include/linux/mfd/wm8994/pdata.h
@@ -223,6 +223,11 @@ struct wm8994_pdata {
223 * lines is mastered. 223 * lines is mastered.
224 */ 224 */
225 int max_channels_clocked[WM8994_NUM_AIF]; 225 int max_channels_clocked[WM8994_NUM_AIF];
226
227 /**
228 * GPIO for the IRQ pin if host only supports edge triggering
229 */
230 int irq_gpio;
226}; 231};
227 232
228#endif 233#endif