From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
luto@amacapital.net, boris.ostrovsky@oracle.com,
rusty@rustcorp.com.au, david.vrabel@citrix.com,
konrad.wilk@oracle.com, mcb30@ipxe.org, jgross@suse.com,
andriy.shevchenko@linux.intel.com, xen-devel@lists.xensource.com,
"Luis R. Rodriguez" <mcgrof@kernel.org>
Subject: [RFC v2 6/6] x86/init: use linker table for mid early setup
Date: Fri, 19 Feb 2016 06:15:43 -0800 [thread overview]
Message-ID: <1455891343-10016-7-git-send-email-mcgrof@kernel.org> (raw)
In-Reply-To: <1455891343-10016-1-git-send-email-mcgrof@kernel.org>
Using the linker table removes the need for the #ifdef'ery
and clutter on head32.c and head64.c, if this is linked in
and the subarch matches it will run.
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
arch/x86/include/asm/setup.h | 6 ------
arch/x86/kernel/head32.c | 7 -------
arch/x86/kernel/head64.c | 8 --------
arch/x86/platform/intel-mid/intel-mid.c | 4 +++-
4 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index f1e111a9d558..1345c1de7f99 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -45,12 +45,6 @@ extern void reserve_standard_io_resources(void);
extern void i386_reserve_resources(void);
extern void setup_default_timer_irq(void);
-#ifdef CONFIG_X86_INTEL_MID
-extern void x86_intel_mid_early_setup(void);
-#else
-static inline void x86_intel_mid_early_setup(void) { }
-#endif
-
#ifndef _SETUP
#include <asm/espfix.h>
diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c
index 9357feb09863..f28360c20496 100644
--- a/arch/x86/kernel/head32.c
+++ b/arch/x86/kernel/head32.c
@@ -37,13 +37,6 @@ asmlinkage __visible void __init i386_start_kernel(void)
cr4_init_shadow();
sanitize_boot_params(&boot_params);
- /* Call the subarch specific early setup function */
- switch (boot_params.hdr.hardware_subarch) {
- case X86_SUBARCH_INTEL_MID:
- x86_intel_mid_early_setup();
- break;
- }
-
x86_init_fn_init_tables();
x86_init_fn_early_init();
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index a823447139f5..c913b7eb5056 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -194,13 +194,5 @@ void __init x86_64_start_reservations(char *real_mode_data)
x86_init_fn_init_tables();
x86_init_fn_early_init();
- switch (boot_params.hdr.hardware_subarch) {
- case X86_SUBARCH_INTEL_MID:
- x86_intel_mid_early_setup();
- break;
- default:
- break;
- }
-
start_kernel();
}
diff --git a/arch/x86/platform/intel-mid/intel-mid.c b/arch/x86/platform/intel-mid/intel-mid.c
index 90bb997ed0a2..6a20a134d4d8 100644
--- a/arch/x86/platform/intel-mid/intel-mid.c
+++ b/arch/x86/platform/intel-mid/intel-mid.c
@@ -167,7 +167,7 @@ static unsigned char intel_mid_get_nmi_reason(void)
* Moorestown specific x86_init function overrides and early setup
* calls.
*/
-void __init x86_intel_mid_early_setup(void)
+static void __init x86_intel_mid_early_setup(void)
{
x86_init.resources.probe_roms = x86_init_noop;
x86_init.resources.reserve_resources = x86_init_noop;
@@ -199,6 +199,8 @@ void __init x86_intel_mid_early_setup(void)
x86_init.mpparse.get_smp_config = x86_init_uint_noop;
set_bit(MP_BUS_ISA, mp_bus_not_pci);
}
+x86_init_early(BIT(X86_SUBARCH_INTEL_MID), NULL, NULL,
+ x86_intel_mid_early_setup);
/*
* if user does not want to use per CPU apb timer, just give it a lower rating
--
2.7.0
prev parent reply other threads:[~2016-02-19 14:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 14:15 [RFC v2 0/6] x86/init: use linker table Luis R. Rodriguez
2016-02-19 14:15 ` [RFC v2 1/6] x86/boot: add BIT() to boot/bitops.h Luis R. Rodriguez
2016-02-19 15:14 ` Boris Ostrovsky
2016-02-19 21:03 ` Luis R. Rodriguez
2016-02-19 14:15 ` [RFC v2 2/6] x86/init: use linker tables to simplify x86 init and annotate dependencies Luis R. Rodriguez
2016-02-19 16:40 ` Andy Lutomirski
2016-02-20 0:42 ` Luis R. Rodriguez
2016-02-20 7:30 ` Andy Lutomirski
2016-02-27 0:19 ` Luis R. Rodriguez
2016-02-19 14:15 ` [RFC v2 3/6] x86/init: move ebda reservations into linker table Luis R. Rodriguez
2016-02-19 14:15 ` [RFC v2 4/6] x86/init: use linker table for i386 early setup Luis R. Rodriguez
2016-02-19 14:15 ` [RFC v2 5/6] x86/init: user linker table for ce4100 " Luis R. Rodriguez
2016-02-19 14:15 ` Luis R. Rodriguez [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1455891343-10016-7-git-send-email-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mcb30@ipxe.org \
--cc=mingo@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.