summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2007-12-29 01:26:15 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2007-12-29 01:26:15 +0000
commit5872b661bf2847a521a343df2298f2c4b74d272f (patch)
tree45677c77b44e48b7212b2e9459b8cd73cfa423d3
parenta4d8ba913b8a80a2ab707584e588b89e2054b5d5 (diff)
Skip LBC on buswalk. Gets rid of unconfigured "Bus Converter Port" devices
on machines like the C360.
-rw-r--r--sys/arch/hppa/dev/uturn.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/arch/hppa/dev/uturn.c b/sys/arch/hppa/dev/uturn.c
index 0fbb9075b1f..c171d80d3f0 100644
--- a/sys/arch/hppa/dev/uturn.c
+++ b/sys/arch/hppa/dev/uturn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uturn.c,v 1.5 2007/12/28 19:49:43 kettenis Exp $ */
+/* $OpenBSD: uturn.c,v 1.6 2007/12/29 01:26:14 kettenis Exp $ */
/*
* Copyright (c) 2004 Michael Shalayeff
@@ -107,9 +107,16 @@ uturnattach(parent, self, aux)
/* keep it real */
((struct iomod *)ioh)->io_control = 0x80;
- nca = *ca; /* clone from us */
+ /*
+ * U2/UTurn is actually a combination of an Upper Bus
+ * Converter (UBC) and a Lower Bus Converter (LBC). This
+ * driver attaches to the UBC; the LBC isn't very interesting,
+ * so we skip it. This is easy, since it always is module 63,
+ * hence the MAXMODBUS - 1 below.
+ */
+ nca = *ca;
nca.ca_hpamask = HPPA_IOBEGIN;
- pdc_scanbus(self, &nca, MAXMODBUS, 0);
+ pdc_scanbus(self, &nca, MAXMODBUS - 1, 0);
/* XXX On some machines, PDC doesn't tell us about all devices. */
switch (cpu_hvers) {
@@ -121,7 +128,7 @@ uturnattach(parent, self, aux)
case HPPA_BOARD_HP859:
case HPPA_BOARD_HP869:
hpa = ((struct iomod *)ioh)->io_io_low << 16;
- pdc_scanbus(self, &nca, MAXMODBUS, hpa);
+ pdc_scanbus(self, &nca, MAXMODBUS - 1, hpa);
break;
default:
break;