[tip:x86/apic] x86/boot: Move EISA setup to a separate file

2017-08-29 Thread tip-bot for Thomas Gleixner
Commit-ID:  f7eaf6e00fd581043bb540dfe865f1d81769b189
Gitweb: http://git.kernel.org/tip/f7eaf6e00fd581043bb540dfe865f1d81769b189
Author: Thomas Gleixner 
AuthorDate: Mon, 28 Aug 2017 08:47:20 +0200
Committer:  Ingo Molnar 
CommitDate: Tue, 29 Aug 2017 11:42:22 +0200

x86/boot: Move EISA setup to a separate file

EISA has absolutely nothing to do with traps, so move it out of traps.c
into its own eisa.c file.

Furthermore, the EISA bus detection does not need to run during
very early boot, it's good enough to run it before the EISA bus
and drivers are initialized.

I.e. instead of calling it from the very early trap_init() code,
make it a subsys_initcall().

Signed-off-by: Thomas Gleixner 
Cc: Andy Lutomirski 
Cc: Borislav Petkov 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Cc: Steven Rostedt 
Link: http://lkml.kernel.org/r/20170828064956.515322...@linutronix.de
Signed-off-by: Ingo Molnar 
---
 arch/x86/kernel/Makefile |  1 +
 arch/x86/kernel/eisa.c   | 18 ++
 arch/x86/kernel/traps.c  | 13 -
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 287eac7..6ab5fbf 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -111,6 +111,7 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-spinlocks.o
 obj-$(CONFIG_PARAVIRT_CLOCK)   += pvclock.o
 obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o
 
+obj-$(CONFIG_EISA) += eisa.o
 obj-$(CONFIG_PCSPKR_PLATFORM)  += pcspeaker.o
 
 obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += check.o
diff --git a/arch/x86/kernel/eisa.c b/arch/x86/kernel/eisa.c
new file mode 100644
index 000..881f923
--- /dev/null
+++ b/arch/x86/kernel/eisa.c
@@ -0,0 +1,18 @@
+/*
+ * EISA specific code
+ *
+ * This file is licensed under the GPL V2
+ */
+#include 
+#include 
+
+static __init int eisa_bus_probe(void)
+{
+   void __iomem *p = ioremap(0x0FFFD9, 4);
+
+   if (readl(p) == 'E' + ('I'<<8) + ('S'<<16) + ('A'<<24))
+   EISA_bus = 1;
+   iounmap(p);
+   return 0;
+}
+subsys_initcall(eisa_bus_probe);
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 556f8f5..3095324 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -38,11 +38,6 @@
 #include 
 #include 
 
-#ifdef CONFIG_EISA
-#include 
-#include 
-#endif
-
 #if defined(CONFIG_EDAC)
 #include 
 #endif
@@ -969,14 +964,6 @@ void __init trap_init(void)
 {
int i;
 
-#ifdef CONFIG_EISA
-   void __iomem *p = early_ioremap(0x0FFFD9, 4);
-
-   if (readl(p) == 'E' + ('I'<<8) + ('S'<<16) + ('A'<<24))
-   EISA_bus = 1;
-   early_iounmap(p, 4);
-#endif
-
set_intr_gate(X86_TRAP_DE, divide_error);
set_intr_gate_ist(X86_TRAP_NMI, , NMI_STACK);
/* int4 can be called from all */


[tip:x86/apic] x86/boot: Move EISA setup to a separate file

2017-08-29 Thread tip-bot for Thomas Gleixner
Commit-ID:  f7eaf6e00fd581043bb540dfe865f1d81769b189
Gitweb: http://git.kernel.org/tip/f7eaf6e00fd581043bb540dfe865f1d81769b189
Author: Thomas Gleixner 
AuthorDate: Mon, 28 Aug 2017 08:47:20 +0200
Committer:  Ingo Molnar 
CommitDate: Tue, 29 Aug 2017 11:42:22 +0200

x86/boot: Move EISA setup to a separate file

EISA has absolutely nothing to do with traps, so move it out of traps.c
into its own eisa.c file.

Furthermore, the EISA bus detection does not need to run during
very early boot, it's good enough to run it before the EISA bus
and drivers are initialized.

I.e. instead of calling it from the very early trap_init() code,
make it a subsys_initcall().

Signed-off-by: Thomas Gleixner 
Cc: Andy Lutomirski 
Cc: Borislav Petkov 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Cc: Steven Rostedt 
Link: http://lkml.kernel.org/r/20170828064956.515322...@linutronix.de
Signed-off-by: Ingo Molnar 
---
 arch/x86/kernel/Makefile |  1 +
 arch/x86/kernel/eisa.c   | 18 ++
 arch/x86/kernel/traps.c  | 13 -
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 287eac7..6ab5fbf 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -111,6 +111,7 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-spinlocks.o
 obj-$(CONFIG_PARAVIRT_CLOCK)   += pvclock.o
 obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o
 
+obj-$(CONFIG_EISA) += eisa.o
 obj-$(CONFIG_PCSPKR_PLATFORM)  += pcspeaker.o
 
 obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += check.o
diff --git a/arch/x86/kernel/eisa.c b/arch/x86/kernel/eisa.c
new file mode 100644
index 000..881f923
--- /dev/null
+++ b/arch/x86/kernel/eisa.c
@@ -0,0 +1,18 @@
+/*
+ * EISA specific code
+ *
+ * This file is licensed under the GPL V2
+ */
+#include 
+#include 
+
+static __init int eisa_bus_probe(void)
+{
+   void __iomem *p = ioremap(0x0FFFD9, 4);
+
+   if (readl(p) == 'E' + ('I'<<8) + ('S'<<16) + ('A'<<24))
+   EISA_bus = 1;
+   iounmap(p);
+   return 0;
+}
+subsys_initcall(eisa_bus_probe);
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 556f8f5..3095324 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -38,11 +38,6 @@
 #include 
 #include 
 
-#ifdef CONFIG_EISA
-#include 
-#include 
-#endif
-
 #if defined(CONFIG_EDAC)
 #include 
 #endif
@@ -969,14 +964,6 @@ void __init trap_init(void)
 {
int i;
 
-#ifdef CONFIG_EISA
-   void __iomem *p = early_ioremap(0x0FFFD9, 4);
-
-   if (readl(p) == 'E' + ('I'<<8) + ('S'<<16) + ('A'<<24))
-   EISA_bus = 1;
-   early_iounmap(p, 4);
-#endif
-
set_intr_gate(X86_TRAP_DE, divide_error);
set_intr_gate_ist(X86_TRAP_NMI, , NMI_STACK);
/* int4 can be called from all */