summaryrefslogtreecommitdiff
path: root/drivers/mfd/wm8994-irq.c
AgeCommit message (Collapse)AuthorFilesLines
2014-09-26mfd: wm8994: Export symbols ready for built-in => modular buildLee Jones1-0/+2
We'd like to be able to build the WM8994 family as modules, but the build will fail if the external symbols aren't exported first. Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2013-07-31mfd: Use dev_get_platdata()Jingoo Han1-1/+1
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2013-06-11mfd: wm8994: Emulate level triggered interrupts if requiredMark Brown1-4/+96
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>
2012-08-07mfd: wm8994: Flag the interrupt block as requiring runtime PM be enabledMark Brown1-0/+1
It's only required in a few circumstances but better to be safe. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09mfd: Support for user defined wm8994 irq flagsMark Brown1-1/+9
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-15mfd: wm8994: Update to fully use irq_domainMark Brown1-6/+0
Take advantage of the new regmap irq_domain support to dynamically allocate interrupts, using regmap_irq_get_virq() rather than irq_base to look up the interrupts. This means that most users should not need to specify an irq_base at all. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
2011-12-12mfd: Convert wm8994 to use generic regmap irq_chipMark Brown1-163/+33
Factor out the irq_chip implementation, substantially reducing the code size for the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
2011-12-12mfd: Remove some unused functions in wm8894-irqMark Brown1-10/+0
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Oritz <sameo@linux.intel.com>
2011-08-01mfd: Acknowledge WM8994 IRQs before reportingMark Brown1-6/+6
This ensures we never have a window where we've handled an interrupt but not told the hardware about it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-03-27mfd: Cleanup irq namespaceThomas Gleixner1-4/+4
Converted with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-03-23mfd: Push byte swaps out of wm8994 bulk read pathMark Brown1-2/+4
For consistency with the write path push byte swaps of the WM8994 register data out of the bulk read data path into the per-register APIs. The only user of the bulk register read is the interrupt code which is updated to do the swaps itself part of this patch. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-03-23mfd: Convert WM8994/58 interrupt masking to enable/disable operationsMark Brown1-4/+4
The WM8994/58 interrupt masking support is a much better match for the genirq enable and disable operations than for the mask and unmask operations. The latter are intended to used during interrupt handling for temporary changes which isn't really practical on a slow bus. Convert the operations over to match this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-01-14mfd: Convert Wolfson MFD drivers to use irq_data accessor functionMark Brown1-4/+4
Actually makes the code larger rathe rthan smaller but does provide some isolation against core API changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-01-14mfd: Convert WM8994 to new irq_ interrupt methodsMark Brown1-15/+17
Kernel 2.6.37 adds new interrupt methods which take a struct irq_data rather than an irq number. Convert over to these as they will become mandatory in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-04-05mfd: Add WM8994 interrupt controller supportMark Brown1-0/+310
The WM8994 has an interrupt controller which supports interrupts for both CODEC and GPIO portions of the chip. Support this using genirq, while allowing for systems that do not have an interrupt hooked up. Wrapper functions are provided for the IRQ request and free to simplify the code in consumer drivers when handling cases where IRQs are not set up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>