diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-10 16:53:21 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-10 18:55:33 +0200 |
commit | 5548ed1135842d1993a4ba699377a8a3c65dd568 (patch) | |
tree | 1ae79e5f24789c87477261dc7c3f6e2a284a2097 | |
parent | 5ab74722a4656612d1f3b087b1afd91133ec0eeb (diff) | |
download | op-kernel-dev-5548ed1135842d1993a4ba699377a8a3c65dd568.zip op-kernel-dev-5548ed1135842d1993a4ba699377a8a3c65dd568.tar.gz |
x86, VisWS: turn into generic arch, install proper PCI quirk
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/mach-visws/setup_visws.c | 5 | ||||
-rw-r--r-- | arch/x86/pci/visws.c | 7 | ||||
-rw-r--r-- | include/asm-x86/setup.h | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/arch/x86/mach-visws/setup_visws.c b/arch/x86/mach-visws/setup_visws.c index 8401208..bbc149f 100644 --- a/arch/x86/mach-visws/setup_visws.c +++ b/arch/x86/mach-visws/setup_visws.c @@ -28,6 +28,11 @@ char visws_board_type = -1; char visws_board_rev = -1; +int is_visws_box(void) +{ + return visws_board_type >= 0; +} + static int __init visws_time_init_quirk(void) { printk(KERN_INFO "Starting Cobalt Timer system clock\n"); diff --git a/arch/x86/pci/visws.c b/arch/x86/pci/visws.c index 2e02221..9b88389 100644 --- a/arch/x86/pci/visws.c +++ b/arch/x86/pci/visws.c @@ -8,6 +8,7 @@ #include <linux/pci.h> #include <linux/init.h> +#include <asm/setup.h> #include "cobalt.h" #include "lithium.h" @@ -107,7 +108,11 @@ static int __init pci_visws_init(void) static __init int pci_subsys_init(void) { - return -1; + if (!is_visws_box()) + return -1; + + pcibios_enable_irq = &pci_visws_enable_irq; + pcibios_disable_irq = &pci_visws_disable_irq; pci_visws_init(); pcibios_init(); diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h index 1ad7eae..90ab222 100644 --- a/include/asm-x86/setup.h +++ b/include/asm-x86/setup.h @@ -10,8 +10,10 @@ void vsmp_init(void); #ifdef CONFIG_X86_VISWS extern void visws_early_detect(void); +extern int is_visws_box(void); #else static inline void visws_early_detect(void) { } +static inline int is_visws_box(void) { return 0; } #endif /* |