]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
platform-drivers: x86: pmic: Fix up bogus irq hackery
authorThomas Gleixner <tglx@linutronix.de>
Sat, 5 Feb 2011 10:46:28 +0000 (10:46 +0000)
committerMatthew Garrett <mjg@redhat.com>
Mon, 7 Feb 2011 21:52:16 +0000 (16:52 -0500)
commit180e9d19eed63b0b153aff9f300b913f48788e37
tree0587c6562b973f661d7ecccd1897804d5ca69b38
parent8dbdea8444d303a772bceb1ba963f0e3273bfc5e
platform-drivers: x86: pmic: Fix up bogus irq hackery

commit 456dc301([PATCH] intel_pmic_gpio: modify EOI handling following
change of kernel irq subsystem) changes

- desc->chip->eoi(irq);
+
+ if (desc->chip->irq_eoi)
+ desc->chip->irq_eoi(irq_get_irq_data(irq));
+ else
+ dev_warn(pg->chip.dev, "missing EOI handler for irq %d\n", irq);

With the following explanation:

 "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."

This is completely bogus.

#1) The changelog does not match the patch at all

#2) This driver relies on the assumption that it sits behind an eoi
    capable interrupt line. If the implementation of the underlying
    chip changes from eoi to irq_eoi then this driver has to follow
    that change and not add a total bogosity.

Remove the sillyness and retrieve the interrupt data from irq_desc
directly. No need to got through circles to look it up.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Feng Tang <feng.tang@intel.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Alek Du <alek.du@intel.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/intel_pmic_gpio.c