[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-f1bdb523880c7f6990e9e8e50b0fc972ca475e84@git.kernel.org>
Date: Mon, 18 May 2009 07:40:37 GMT
From: tip-bot for Yinghai Lu <yinghai@...nel.org>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...hat.com,
lenb@...nel.org, yinghai@...nel.org, tglx@...utronix.de,
mingo@...e.hu
Subject: [tip:irq/numa] x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled
Commit-ID: f1bdb523880c7f6990e9e8e50b0fc972ca475e84
Gitweb: http://git.kernel.org/tip/f1bdb523880c7f6990e9e8e50b0fc972ca475e84
Author: Yinghai Lu <yinghai@...nel.org>
AuthorDate: Fri, 15 May 2009 13:05:16 -0700
Committer: Ingo Molnar <mingo@...e.hu>
CommitDate: Mon, 18 May 2009 09:33:29 +0200
x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled
Len expressed concern that the update_mptable feature has
side-effects on the ACPI code.
Make it sure explicitly that the code only ever gets called if
the (default disabled) update_mptable boot quirk option is
disabled.
[ Impact: isolate the update_mptable feature from ACPI code more ]
Signed-off-by: Yinghai Lu <yinghai@...nel.org>
Cc: Len Brown <lenb@...nel.org>
LKML-Reference: <4A0DC832.5090200@...nel.org>
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
arch/x86/include/asm/mpspec.h | 9 +++++++++
arch/x86/kernel/acpi/boot.c | 4 +++-
arch/x86/kernel/mpparse.c | 2 +-
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/mpspec.h b/arch/x86/include/asm/mpspec.h
index c34961a..3dcbaaa 100644
--- a/arch/x86/include/asm/mpspec.h
+++ b/arch/x86/include/asm/mpspec.h
@@ -87,6 +87,15 @@ static inline int acpi_probe_gsi(void)
}
#endif /* CONFIG_ACPI */
+#ifdef CONFIG_X86_MPPARSE
+extern int enable_update_mptable;
+#else
+static inline int enable_update_mptable(void)
+{
+ return 0;
+}
+#endif
+
#define PHYSID_ARRAY_SIZE BITS_TO_LONGS(MAX_APICS)
struct physid_mask {
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 4af63df..844e5e2 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1226,7 +1226,9 @@ int mp_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
ioapic_pin);
return gsi;
}
- mp_config_acpi_gsi(dev, gsi, trigger, polarity);
+
+ if (enable_update_mptable)
+ mp_config_acpi_gsi(dev, gsi, trigger, polarity);
set_io_apic_irq_attr(&irq_attr, ioapic, ioapic_pin,
trigger == ACPI_EDGE_SENSITIVE ? 0 : 1,
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index e6bf9d0..651c93b 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -957,7 +957,7 @@ out:
return 0;
}
-static int __initdata enable_update_mptable;
+int enable_update_mptable;
static int __init update_mptable_setup(char *str)
{
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists