diff options
author | Robert Richter <robert.richter@amd.com> | 2008-07-11 06:26:59 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-11 15:22:59 -0400 |
commit | 3cabf37f6167125cb5185db05f5061650f685ab7 (patch) | |
tree | 5f07be8d72da9fecb694536795b1e8fbd4bf8b3d /arch/x86/pci | |
parent | e27cf3a2e151b79375efadf71a5d383ad416fb44 (diff) |
x86/pci: Changing subsystem init for visws
I don't know, if this new code boots, but at least it
compiles. Someone should really test it.
Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Robert Richter <robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/legacy.c | 3 | ||||
-rw-r--r-- | arch/x86/pci/pci.h | 1 | ||||
-rw-r--r-- | arch/x86/pci/visws.c | 23 |
3 files changed, 11 insertions, 16 deletions
diff --git a/arch/x86/pci/legacy.c b/arch/x86/pci/legacy.c index f405eb0b8911..ec9ce35e44d6 100644 --- a/arch/x86/pci/legacy.c +++ b/arch/x86/pci/legacy.c | |||
@@ -63,6 +63,9 @@ int __init pci_subsys_init(void) | |||
63 | #ifdef CONFIG_ACPI | 63 | #ifdef CONFIG_ACPI |
64 | pci_acpi_init(); | 64 | pci_acpi_init(); |
65 | #endif | 65 | #endif |
66 | #ifdef CONFIG_X86_VISWS | ||
67 | pci_visws_init(); | ||
68 | #endif | ||
66 | pci_legacy_init(); | 69 | pci_legacy_init(); |
67 | pcibios_irq_init(); | 70 | pcibios_irq_init(); |
68 | pcibios_init(); | 71 | pcibios_init(); |
diff --git a/arch/x86/pci/pci.h b/arch/x86/pci/pci.h index 36b8dd019fab..a2c55ee98aff 100644 --- a/arch/x86/pci/pci.h +++ b/arch/x86/pci/pci.h | |||
@@ -107,6 +107,7 @@ extern void __init dmi_check_skip_isa_align(void); | |||
107 | /* some common used subsys_initcalls */ | 107 | /* some common used subsys_initcalls */ |
108 | extern int __init pci_acpi_init(void); | 108 | extern int __init pci_acpi_init(void); |
109 | extern int __init pcibios_irq_init(void); | 109 | extern int __init pcibios_irq_init(void); |
110 | extern int __init pci_visws_init(void); | ||
110 | extern int __init pci_numaq_init(void); | 111 | extern int __init pci_numaq_init(void); |
111 | extern int __init pcibios_init(void); | 112 | extern int __init pcibios_init(void); |
112 | 113 | ||
diff --git a/arch/x86/pci/visws.c b/arch/x86/pci/visws.c index 1a7bed492bb1..42f4cb19faca 100644 --- a/arch/x86/pci/visws.c +++ b/arch/x86/pci/visws.c | |||
@@ -86,8 +86,14 @@ void __init pcibios_update_irq(struct pci_dev *dev, int irq) | |||
86 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); | 86 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); |
87 | } | 87 | } |
88 | 88 | ||
89 | static int __init pci_visws_init(void) | 89 | int __init pci_visws_init(void) |
90 | { | 90 | { |
91 | if (!is_visws_box()) | ||
92 | return -1; | ||
93 | |||
94 | pcibios_enable_irq = &pci_visws_enable_irq; | ||
95 | pcibios_disable_irq = &pci_visws_disable_irq; | ||
96 | |||
91 | /* The VISWS supports configuration access type 1 only */ | 97 | /* The VISWS supports configuration access type 1 only */ |
92 | pci_probe = (pci_probe | PCI_PROBE_CONF1) & | 98 | pci_probe = (pci_probe | PCI_PROBE_CONF1) & |
93 | ~(PCI_PROBE_BIOS | PCI_PROBE_CONF2); | 99 | ~(PCI_PROBE_BIOS | PCI_PROBE_CONF2); |
@@ -105,18 +111,3 @@ static int __init pci_visws_init(void) | |||
105 | pcibios_resource_survey(); | 111 | pcibios_resource_survey(); |
106 | return 0; | 112 | return 0; |
107 | } | 113 | } |
108 | |||
109 | static __init int pci_subsys_init(void) | ||
110 | { | ||
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; | ||
116 | |||
117 | pci_visws_init(); | ||
118 | pcibios_init(); | ||
119 | |||
120 | return 0; | ||
121 | } | ||
122 | subsys_initcall(pci_subsys_init); | ||