aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavem <davem>2002-01-05 07:33:16 +0000
committerdavem <davem>2002-01-05 07:33:16 +0000
commit8d68c27773e7c960e537a928a7e5d71fda98ab3b (patch)
tree0911ba864fc986de9e12c88a6054a43198331cf0
parente5f6c86c404d885c96e0e6a8bfc7fabffceba8d5 (diff)
downloadnetdev-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.c16
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;
}