diff options
author | davem <davem> | 2002-01-05 07:33:16 +0000 |
---|---|---|
committer | davem <davem> | 2002-01-05 07:33:16 +0000 |
commit | 8d68c27773e7c960e537a928a7e5d71fda98ab3b (patch) | |
tree | 0911ba864fc986de9e12c88a6054a43198331cf0 | |
parent | e5f6c86c404d885c96e0e6a8bfc7fabffceba8d5 (diff) | |
download | netdev-vger-cvs-8d68c27773e7c960e537a928a7e5d71fda98ab3b.tar.gz |
On PSYCHO, only set pci_first_slot for PBM-B to 1
if we are on an Enterprise-xxxx system. This needs
to be done better at some point...
-rw-r--r-- | arch/sparc64/kernel/pci_psycho.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index 325a6ba51..2676d0b1c 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c @@ -1,4 +1,4 @@ -/* $Id: pci_psycho.c,v 1.30 2001-11-14 13:17:56 davem Exp $ +/* $Id: pci_psycho.c,v 1.31 2002-01-05 07:33:16 davem Exp $ * pci_psycho.c: PSYCHO/U2P specific PCI controller support. * * Copyright (C) 1997, 1998, 1999 David S. Miller (davem@caipfs.rutgers.edu) @@ -13,6 +13,7 @@ #include <linux/slab.h> #include <asm/pbm.h> +#include <asm/fhc.h> #include <asm/iommu.h> #include <asm/irq.h> #include <asm/starfire.h> @@ -1480,8 +1481,7 @@ static void psycho_pbm_init(struct pci_controller_info *p, { unsigned int busrange[2]; struct pci_pbm_info *pbm; - char namebuf[64]; - int err, len; + int err; if (is_pbm_a) { pbm = &p->pbm_A; @@ -1490,13 +1490,9 @@ static void psycho_pbm_init(struct pci_controller_info *p, pbm->mem_space.start = p->controller_regs + PSYCHO_MEMSPACE_A; } else { pbm = &p->pbm_B; - pbm->pci_first_slot = 1; - len = prom_getproperty(prom_root_node, "name", - namebuf, sizeof(namebuf)); - if (len > 0) { - if (!strcmp(namebuf, "SUNW,Ultra-1-Engine")) - pbm->pci_first_slot = 2; - } + pbm->pci_first_slot = 2; + if (central_bus != NULL) + pbm->pci_first_slot = 1; pbm->io_space.start = p->controller_regs + PSYCHO_IOSPACE_B; pbm->mem_space.start = p->controller_regs + PSYCHO_MEMSPACE_B; } |