From fc838bef65cd699df342218527c7d1d9a41360d0 Mon Sep 17 00:00:00 2001 From: "Justin T. Gibbs" Date: Mon, 16 Aug 2004 22:05:53 +0000 Subject: [PATCH] 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. --- sys/dev/eisa/eisaconf.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sys/dev/eisa/eisaconf.c b/sys/dev/eisa/eisaconf.c index d5453500d38..2ef026561ae 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