x86/pci: Changing subsystem init for visws
authorRobert Richter <robert.richter@amd.com>
Fri, 11 Jul 2008 10:26:59 +0000 (12:26 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 11 Jul 2008 19:22:59 +0000 (21:22 +0200)
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>
arch/x86/pci/legacy.c
arch/x86/pci/pci.h
arch/x86/pci/visws.c

index f405eb0b89117d446b18d77a3f275cf6c07efaa6..ec9ce35e44d6afe51b2c63bafbe9d5e3053d68c4 100644 (file)
@@ -62,6 +62,9 @@ int __init pci_subsys_init(void)
 #endif
 #ifdef CONFIG_ACPI
        pci_acpi_init();
+#endif
+#ifdef CONFIG_X86_VISWS
+       pci_visws_init();
 #endif
        pci_legacy_init();
        pcibios_irq_init();
index 36b8dd019fabcf6b6333bcac322eb086ca4dc202..a2c55ee98aff877b51057831ce6053e7c4b7bb4d 100644 (file)
@@ -107,6 +107,7 @@ extern void __init dmi_check_skip_isa_align(void);
 /* some common used subsys_initcalls */
 extern int __init pci_acpi_init(void);
 extern int __init pcibios_irq_init(void);
+extern int __init pci_visws_init(void);
 extern int __init pci_numaq_init(void);
 extern int __init pcibios_init(void);
 
index 1a7bed492bb15647b2f1ce0df3740cd074094781..42f4cb19facab8a47b70c85fcfd819cb086ade3b 100644 (file)
@@ -86,8 +86,14 @@ void __init pcibios_update_irq(struct pci_dev *dev, int irq)
        pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
 }
 
-static int __init pci_visws_init(void)
+int __init pci_visws_init(void)
 {
+       if (!is_visws_box())
+               return -1;
+
+       pcibios_enable_irq = &pci_visws_enable_irq;
+       pcibios_disable_irq = &pci_visws_disable_irq;
+
        /* The VISWS supports configuration access type 1 only */
        pci_probe = (pci_probe | PCI_PROBE_CONF1) &
                    ~(PCI_PROBE_BIOS | PCI_PROBE_CONF2);
@@ -105,18 +111,3 @@ static int __init pci_visws_init(void)
        pcibios_resource_survey();
        return 0;
 }
-
-static __init int pci_subsys_init(void)
-{
-       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();
-
-       return 0;
-}
-subsys_initcall(pci_subsys_init);