aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-08-30 05:30:24 -0400
committerDavid S. Miller <davem@davemloft.net>2008-08-30 05:30:24 -0400
commit6d19c88f53bb3471a15152ea4fbdbebd36c0046c (patch)
tree8857194ba714fde8f32c76e2fb7b089ca525e63f /arch/sparc64/kernel/pci.c
parentc510b9bfa1c34c1452f7a4389ff6de4f72a78193 (diff)
sparc64: Convert SCHIZO PCI controller driver into a real driver.
The idea is to convert all of the PCI controller drivers into genuine OF drivers, then we can get rid of this terrible probing table and infrastructure in arch/sparc64/kernel/pci.c Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci.c')
-rw-r--r--arch/sparc64/kernel/pci.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index 83c50a62970d..73f1d42d4866 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -167,9 +167,6 @@ void pci_config_write32(u32 *addr, u32 val)
167/* Probe for all PCI controllers in the system. */ 167/* Probe for all PCI controllers in the system. */
168extern void sabre_init(struct device_node *, const char *); 168extern void sabre_init(struct device_node *, const char *);
169extern void psycho_init(struct device_node *, const char *); 169extern void psycho_init(struct device_node *, const char *);
170extern void schizo_init(struct device_node *, const char *);
171extern void schizo_plus_init(struct device_node *, const char *);
172extern void tomatillo_init(struct device_node *, const char *);
173extern void sun4v_pci_init(struct device_node *, const char *); 170extern void sun4v_pci_init(struct device_node *, const char *);
174extern void fire_pci_init(struct device_node *, const char *); 171extern void fire_pci_init(struct device_node *, const char *);
175 172
@@ -182,12 +179,6 @@ static struct {
182 { "pci108e,a001", sabre_init }, 179 { "pci108e,a001", sabre_init },
183 { "SUNW,psycho", psycho_init }, 180 { "SUNW,psycho", psycho_init },
184 { "pci108e,8000", psycho_init }, 181 { "pci108e,8000", psycho_init },
185 { "SUNW,schizo", schizo_init },
186 { "pci108e,8001", schizo_init },
187 { "SUNW,schizo+", schizo_plus_init },
188 { "pci108e,8002", schizo_plus_init },
189 { "SUNW,tomatillo", tomatillo_init },
190 { "pci108e,a801", tomatillo_init },
191 { "SUNW,sun4v-pci", sun4v_pci_init }, 182 { "SUNW,sun4v-pci", sun4v_pci_init },
192 { "pciex108e,80f0", fire_pci_init }, 183 { "pciex108e,80f0", fire_pci_init },
193}; 184};
@@ -795,8 +786,10 @@ static void __init pci_scan_each_controller_bus(void)
795{ 786{
796 struct pci_pbm_info *pbm; 787 struct pci_pbm_info *pbm;
797 788
798 for (pbm = pci_pbm_root; pbm; pbm = pbm->next) 789 for (pbm = pci_pbm_root; pbm; pbm = pbm->next) {
799 pbm->scan_bus(pbm); 790 if (pbm->scan_bus)
791 pbm->scan_bus(pbm);
792 }
800} 793}
801 794
802static int __init pcibios_init(void) 795static int __init pcibios_init(void)