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>
This commit is contained in:
@@ -29,6 +29,7 @@ enum wm8994_type {
|
||||
|
||||
struct regulator_dev;
|
||||
struct regulator_bulk_data;
|
||||
struct irq_domain;
|
||||
|
||||
#define WM8994_NUM_GPIO_REGS 11
|
||||
#define WM8994_NUM_LDO_REGS 2
|
||||
@@ -73,6 +74,7 @@ struct wm8994 {
|
||||
|
||||
int irq;
|
||||
struct regmap_irq_chip_data *irq_data;
|
||||
struct irq_domain *edge_irq;
|
||||
|
||||
/* Used over suspend/resume */
|
||||
bool suspended;
|
||||
|
||||
@@ -223,6 +223,11 @@ struct wm8994_pdata {
|
||||
* lines is mastered.
|
||||
*/
|
||||
int max_channels_clocked[WM8994_NUM_AIF];
|
||||
|
||||
/**
|
||||
* GPIO for the IRQ pin if host only supports edge triggering
|
||||
*/
|
||||
int irq_gpio;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user