diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-03-14 10:33:40 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-14 15:13:23 +0100 |
commit | 03150171dcf9492a96f57cbb2aef088bafcfcd2e (patch) | |
tree | f6efdc23e55946dac61a4470ee34696ebec3aa3a /arch/x86/pci | |
parent | a79e53d85683c6dd9f99c90511028adc2043031f (diff) | |
download | op-kernel-dev-03150171dcf9492a96f57cbb2aef088bafcfcd2e.zip op-kernel-dev-03150171dcf9492a96f57cbb2aef088bafcfcd2e.tar.gz |
x86: ce4100: Set pci ops via callback instead of module init
Setting the pci ops on subsys initcall unconditionally will break
multi platform kernels on anything except ce4100.
Use x86_init.pci.init ops to call this only on real ce4100 platforms.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: sodaville@linutronix.de
LKML-Reference: <20110314093340.GA21026@www.tglx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/ce4100.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/pci/ce4100.c b/arch/x86/pci/ce4100.c index 85b68ef..9260b3e 100644 --- a/arch/x86/pci/ce4100.c +++ b/arch/x86/pci/ce4100.c @@ -34,6 +34,7 @@ #include <linux/pci.h> #include <linux/init.h> +#include <asm/ce4100.h> #include <asm/pci_x86.h> struct sim_reg { @@ -306,10 +307,10 @@ struct pci_raw_ops ce4100_pci_conf = { .write = ce4100_conf_write, }; -static int __init ce4100_pci_init(void) +int __init ce4100_pci_init(void) { init_sim_regs(); raw_pci_ops = &ce4100_pci_conf; - return 0; + /* Indicate caller that it should invoke pci_legacy_init() */ + return 1; } -subsys_initcall(ce4100_pci_init); |