summaryrefslogtreecommitdiffstats
path: root/sys/dev/eisa
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2004-08-16 22:05:53 +0000
committergibbs <gibbs@FreeBSD.org>2004-08-16 22:05:53 +0000
commit9950f2481beaa17a6e718d0943a59783f9c962cd (patch)
treec58b55151dd3f8788367cb31053b6ec113089d85 /sys/dev/eisa
parent3faf671104d5e0c114685b454836dac9a70db1d1 (diff)
downloadFreeBSD-src-9950f2481beaa17a6e718d0943a59783f9c962cd.zip
FreeBSD-src-9950f2481beaa17a6e718d0943a59783f9c962cd.tar.gz
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.
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 d545350..2ef0265 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
OpenPOWER on IntegriCloud