diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-10 10:53:21 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-10 12:55:33 -0400 |
commit | 5548ed1135842d1993a4ba699377a8a3c65dd568 (patch) | |
tree | 1ae79e5f24789c87477261dc7c3f6e2a284a2097 | |
parent | 5ab74722a4656612d1f3b087b1afd91133ec0eeb (diff) |
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 8401208eec5c..bbc149f78a4b 100644 --- a/arch/x86/mach-visws/setup_visws.c +++ b/arch/x86/mach-visws/setup_visws.c | |||
@@ -28,6 +28,11 @@ | |||
28 | char visws_board_type = -1; | 28 | char visws_board_type = -1; |
29 | char visws_board_rev = -1; | 29 | char visws_board_rev = -1; |
30 | 30 | ||
31 | int is_visws_box(void) | ||
32 | { | ||
33 | return visws_board_type >= 0; | ||
34 | } | ||
35 | |||
31 | static int __init visws_time_init_quirk(void) | 36 | static int __init visws_time_init_quirk(void) |
32 | { | 37 | { |
33 | printk(KERN_INFO "Starting Cobalt Timer system clock\n"); | 38 | printk(KERN_INFO "Starting Cobalt Timer system clock\n"); |
diff --git a/arch/x86/pci/visws.c b/arch/x86/pci/visws.c index 2e022210a632..9b883890c0b2 100644 --- a/arch/x86/pci/visws.c +++ b/arch/x86/pci/visws.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/pci.h> | 8 | #include <linux/pci.h> |
9 | #include <linux/init.h> | 9 | #include <linux/init.h> |
10 | 10 | ||
11 | #include <asm/setup.h> | ||
11 | #include "cobalt.h" | 12 | #include "cobalt.h" |
12 | #include "lithium.h" | 13 | #include "lithium.h" |
13 | 14 | ||
@@ -107,7 +108,11 @@ static int __init pci_visws_init(void) | |||
107 | 108 | ||
108 | static __init int pci_subsys_init(void) | 109 | static __init int pci_subsys_init(void) |
109 | { | 110 | { |
110 | return -1; | 111 | if (!is_visws_box()) |
112 | return -1; | ||
113 | |||
114 | pcibios_enable_irq = &pci_visws_enable_irq; | ||
115 | pcibios_disable_irq = &pci_visws_disable_irq; | ||
111 | 116 | ||
112 | pci_visws_init(); | 117 | pci_visws_init(); |
113 | pcibios_init(); | 118 | pcibios_init(); |
diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h index 1ad7eae0d9be..90ab2225e71b 100644 --- a/include/asm-x86/setup.h +++ b/include/asm-x86/setup.h | |||
@@ -10,8 +10,10 @@ void vsmp_init(void); | |||
10 | 10 | ||
11 | #ifdef CONFIG_X86_VISWS | 11 | #ifdef CONFIG_X86_VISWS |
12 | extern void visws_early_detect(void); | 12 | extern void visws_early_detect(void); |
13 | extern int is_visws_box(void); | ||
13 | #else | 14 | #else |
14 | static inline void visws_early_detect(void) { } | 15 | static inline void visws_early_detect(void) { } |
16 | static inline int is_visws_box(void) { return 0; } | ||
15 | #endif | 17 | #endif |
16 | 18 | ||
17 | /* | 19 | /* |