diff options
author | Feng Tang <feng.tang@intel.com> | 2010-12-09 10:37:44 +0000 |
---|---|---|
committer | Alan Cox <alan@linux.intel.com> | 2010-12-09 10:37:44 +0000 |
commit | 66e17daa00f5123051ebee0c184d0a200c49028e (patch) | |
tree | 7ce3810ba4946ecc0aebc6c36dad29e678550349 /drivers | |
parent | f42e19b29cc9c529746eb7e0a579b179786d205d (diff) | |
download | mrst-s0i3-test-66e17daa00f5123051ebee0c184d0a200c49028e.tar.gz mrst-s0i3-test-66e17daa00f5123051ebee0c184d0a200c49028e.tar.xz mrst-s0i3-test-66e17daa00f5123051ebee0c184d0a200c49028e.zip |
intel_pmic_gpio: modify EOI handling following change of kernel irq subsystem
Latest kernel has many changes in IRQ subsystem and its interfaces, like adding
"irq_eoi" for struct irq_chip, this patch will make it support both the new
and old interface.
Cc: Alek Du <alek.du@intel.com>
Signed-off-by: Feng Tang <feng.tang@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/platform/x86/intel_pmic_gpio.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/platform/x86/intel_pmic_gpio.c b/drivers/platform/x86/intel_pmic_gpio.c index e61db9dfebe..4efb2c6107b 100644 --- a/drivers/platform/x86/intel_pmic_gpio.c +++ b/drivers/platform/x86/intel_pmic_gpio.c @@ -244,7 +244,15 @@ static void pmic_irq_handler(unsigned irq, struct irq_desc *desc) generic_handle_irq(pg->irq_base + gpio); } } - desc->chip->eoi(irq); + + if (desc->chip->irq_eoi) + desc->chip->irq_eoi(irq_get_irq_data(irq)); +#ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED + else if (desc->chip->eoi) + desc->chip->eoi(irq); +#endif + else + dev_warn(pg->chip.dev, "missing EOI handler for irq %d\n", irq); } static int __devinit platform_pmic_gpio_probe(struct platform_device *pdev) |