summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorThomas Gleixner2009-08-20 13:04:10 +0200
committerThomas Gleixner2009-08-31 09:35:45 +0200
commit42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6 (patch)
treef70bc7a928b5131e69971ff1fb5a30a0bb8f52c3 /arch/x86/include
parentx86: Move traps_init to x86_init_ops (diff)
downloadkernel-qcow2-linux-42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6.tar.gz
kernel-qcow2-linux-42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6.tar.xz
kernel-qcow2-linux-42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6.zip
x86: Replace ARCH_SETUP by a proper x86_init_ops
ARCH_SETUP is a horrible leftover from the old arch/i386 mach support code. It still has a lonely user in xen. Move it to x86_init_ops. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/paravirt.h1
-rw-r--r--arch/x86/include/asm/paravirt_types.h1
-rw-r--r--arch/x86/include/asm/x86_init.h9
3 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 6a07af432c81..22cb3872f6d1 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -24,7 +24,6 @@ static inline void load_sp0(struct tss_struct *tss,
PVOP_VCALL2(pv_cpu_ops.load_sp0, tss, thread);
}
-#define ARCH_SETUP pv_init_ops.arch_setup();
static inline unsigned long get_wallclock(void)
{
return PVOP_CALL0(unsigned long, pv_time_ops.get_wallclock);
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 25922afb6347..a05085e5fdbb 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -80,7 +80,6 @@ struct pv_init_ops {
unsigned long addr, unsigned len);
/* Basic arch-specific setup */
- void (*arch_setup)(void);
void (*post_allocator_init)(void);
/* Print a banner to identify the environment */
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 07c37bd879f8..ceffbf358fc0 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -57,6 +57,14 @@ struct x86_init_irqs {
};
/**
+ * struct x86_init_oem - oem platform specific customizing functions
+ * @arch_setup: platform specific architecure setup
+ */
+struct x86_init_oem {
+ void (*arch_setup)(void);
+};
+
+/**
* struct x86_init_ops - functions for platform specific setup
*
*/
@@ -64,6 +72,7 @@ struct x86_init_ops {
struct x86_init_resources resources;
struct x86_init_mpparse mpparse;
struct x86_init_irqs irqs;
+ struct x86_init_oem oem;
};
extern struct x86_init_ops x86_init;