diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-06 11:12:56 -0400 |
|---|---|---|
| committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-06-11 13:27:52 -0400 |
| commit | 7c8844481a1c16c10fa9be4ce95be5725aed6ce3 (patch) | |
| tree | 7533110930172ae82fa38ee8531a70ecd50ed8ca /include/linux/mfd | |
| parent | fc83f586adf3b86ff7046478497b4a53b2220be8 (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')
| -rw-r--r-- | include/linux/mfd/wm8994/core.h | 2 | ||||
| -rw-r--r-- | include/linux/mfd/wm8994/pdata.h | 5 |
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 | ||
| 30 | struct regulator_dev; | 30 | struct regulator_dev; |
| 31 | struct regulator_bulk_data; | 31 | struct regulator_bulk_data; |
| 32 | struct 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 |
