aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-10 10:53:21 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-10 12:55:33 -0400
commit5548ed1135842d1993a4ba699377a8a3c65dd568 (patch)
tree1ae79e5f24789c87477261dc7c3f6e2a284a2097
parent5ab74722a4656612d1f3b087b1afd91133ec0eeb (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.c5
-rw-r--r--arch/x86/pci/visws.c7
-rw-r--r--include/asm-x86/setup.h2
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 @@
28char visws_board_type = -1; 28char visws_board_type = -1;
29char visws_board_rev = -1; 29char visws_board_rev = -1;
30 30
31int is_visws_box(void)
32{
33 return visws_board_type >= 0;
34}
35
31static int __init visws_time_init_quirk(void) 36static 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
108static __init int pci_subsys_init(void) 109static __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
12extern void visws_early_detect(void); 12extern void visws_early_detect(void);
13extern int is_visws_box(void);
13#else 14#else
14static inline void visws_early_detect(void) { } 15static inline void visws_early_detect(void) { }
16static inline int is_visws_box(void) { return 0; }
15#endif 17#endif
16 18
17/* 19/*