diff options
| author | Justin T. Gibbs <gibbs@FreeBSD.org> | 2004-08-16 22:05:53 +0000 |
|---|---|---|
| committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 2004-08-16 22:05:53 +0000 |
| commit | fc838bef65cd699df342218527c7d1d9a41360d0 (patch) | |
| tree | c58b55151dd3f8788367cb31053b6ec113089d85 /sys/dev/eisa | |
| parent | 6ec309a62f5a5972c1559ad50a1a7bc6e9e66784 (diff) | |
Notes
Diffstat (limited to 'sys/dev/eisa')
| -rw-r--r-- | sys/dev/eisa/eisaconf.c | 11 |
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 |
