• Thomas Gleixner's avatar
    platform-drivers: x86: pmic: Fix up bogus irq hackery · 180e9d19
    Thomas Gleixner authored
    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: default avatarThomas 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: default avatarMatthew Garrett <mjg@redhat.com>
    180e9d19
intel_pmic_gpio.c 8.42 KB