Commit-ID:  ba28a8505a43074cceab7b5f454cb1a107159b00
Gitweb:     http://git.kernel.org/tip/ba28a8505a43074cceab7b5f454cb1a107159b00
Author:     Jiang Liu <[email protected]>
AuthorDate: Mon, 27 Oct 2014 16:11:52 +0800
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Wed, 5 Nov 2014 18:10:45 +0100

ACPI, irq, x86: Get rid of special handling of GSI for ACPI SCI

The IOAPIC has logic to track IOAPIC pin status, so there's no need for
special treatment for GSI used by ACPI SCI in function mp_register_gsi()
and mp_unregister_gsi().

Signed-off-by: Jiang Liu <[email protected]>
Cc: Konrad Rzeszutek Wilk <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Joerg Roedel <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>
Cc: Bjorn Helgaas <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Yinghai Lu <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Pavel Machek <[email protected]>
Link: 
http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
---
 arch/x86/kernel/acpi/boot.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 1ae52e0..a0e095f 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -408,10 +408,6 @@ static int mp_register_gsi(struct device *dev, u32 gsi, 
int trigger,
        if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
                return gsi;
 
-       /* Don't set up the ACPI SCI because it's already set up */
-       if (acpi_gbl_FADT.sci_interrupt == gsi)
-               return mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC);
-
        trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
        polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
        node = dev ? dev_to_node(dev) : NUMA_NO_NODE;
@@ -424,7 +420,8 @@ static int mp_register_gsi(struct device *dev, u32 gsi, int 
trigger,
        if (irq < 0)
                return irq;
 
-       if (enable_update_mptable)
+       /* Don't set up the ACPI SCI because it's already set up */
+       if (enable_update_mptable && acpi_gbl_FADT.sci_interrupt != gsi)
                mp_config_acpi_gsi(dev, gsi, trigger, polarity);
 
        return irq;
@@ -437,9 +434,6 @@ static void mp_unregister_gsi(u32 gsi)
        if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
                return;
 
-       if (acpi_gbl_FADT.sci_interrupt == gsi)
-               return;
-
        irq = mp_map_gsi_to_irq(gsi, 0);
        if (irq > 0)
                mp_unmap_irq(irq);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to