aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/eisa
diff options
context:
space:
mode:
authorJustin T. Gibbs <gibbs@FreeBSD.org>2004-08-16 22:05:53 +0000
committerJustin T. Gibbs <gibbs@FreeBSD.org>2004-08-16 22:05:53 +0000
commitfc838bef65cd699df342218527c7d1d9a41360d0 (patch)
treec58b55151dd3f8788367cb31053b6ec113089d85 /sys/dev/eisa
parent6ec309a62f5a5972c1559ad50a1a7bc6e9e66784 (diff)
downloadsrc-fc838bef65cd699df342218527c7d1d9a41360d0.tar.gz
src-fc838bef65cd699df342218527c7d1d9a41360d0.zip
Remove outb to "prime" the EISA ID registers of each slot. This was
only required to support probing of the Adaptec 284X VLB SCSI controller which becomes visible in EISA space if you perform these writes. 284X probing is moving to an ISA attachment.
Notes
Notes: svn path=/head/; revision=133887
Diffstat (limited to 'sys/dev/eisa')
-rw-r--r--sys/dev/eisa/eisaconf.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/dev/eisa/eisaconf.c b/sys/dev/eisa/eisaconf.c
index d5453500d385..2ef026561aeb 100644
--- a/sys/dev/eisa/eisaconf.c
+++ b/sys/dev/eisa/eisaconf.c
@@ -213,25 +213,22 @@ static int
eisa_probe_slot(int slot, eisa_id_t *eisa_id)
{
eisa_id_t probe_id;
- int base, i, id_size, ret;
+ int base, i, id_size;
- ret = ENXIO;
probe_id = 0;
id_size = sizeof(probe_id);
base = 0x0c80 + (slot * 0x1000);
- for (i = 0; i < id_size; i++) {
- outb(base, 0x80 + i); /* Some cards require priming. */
+ for (i = 0; i < id_size; i++)
probe_id |= inb(base + i) << ((id_size - i - 1) * CHAR_BIT);
- }
/* If we found a card, return its EISA id. */
if ((probe_id & 0x80000000) == 0) {
*eisa_id = probe_id;
- ret = 0;
+ return (0);
}
- return (ret);
+ return (ENXIO);
}
static void