diff options
Diffstat (limited to 'sys/dev/isa')
-rw-r--r-- | sys/dev/isa/isapnp.c | 9 | ||||
-rw-r--r-- | sys/dev/isa/isavar.h | 3 |
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/isa/isapnp.c b/sys/dev/isa/isapnp.c index 260a018a647..5e71e3b2a4e 100644 --- a/sys/dev/isa/isapnp.c +++ b/sys/dev/isa/isapnp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: isapnp.c,v 1.3 1996/08/15 06:33:28 deraadt Exp $ */ +/* $OpenBSD: isapnp.c,v 1.4 1996/08/15 17:28:40 shawn Exp $ */ /* * Copyright (c) 1996, Shawn Hsiao <shawn@alpha.secc.fju.edu.tw> @@ -165,8 +165,7 @@ isapnpattach(parent, self, aux) num_pnp_devs = isolation_protocol(sc); if (num_pnp_devs) { printf(": readport 0x%x, %d devices", - sc->sc_dev.dv_xname, (sc->rd_port << 2) | 0x3, - num_pnp_devs); + (sc->rd_port << 2) | 0x3, num_pnp_devs); break; } } @@ -194,6 +193,7 @@ postisapnpattach(parent, self, aux) ia.ia_bc = iba->iba_bc; ia.ia_ic = iba->iba_ic; ia.id = dev->id; + ia.comp_id = dev->comp_id; ia.csn = card->csn; ia.ldn = dev->ldn; ia.ia_delayioh = isc->sc_delayioh; @@ -273,7 +273,8 @@ isapnpsubmatch(parent, match, aux) struct isa_attach_args *ia = aux; int ret; - if (cf->cf_pnpid == ia->id) { + if (cf->cf_pnpid == ia->id || + cf->cf_pnpid == ia->comp_id) { ret = (*cf->cf_attach->ca_match)(parent, match, aux); return (ret); } diff --git a/sys/dev/isa/isavar.h b/sys/dev/isa/isavar.h index 849c40ead19..9c3f632d588 100644 --- a/sys/dev/isa/isavar.h +++ b/sys/dev/isa/isavar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: isavar.h,v 1.14 1996/08/14 14:36:17 shawn Exp $ */ +/* $OpenBSD: isavar.h,v 1.15 1996/08/15 17:28:41 shawn Exp $ */ /* $NetBSD: isavar.h,v 1.23 1996/05/08 23:32:31 thorpej Exp $ */ /* @@ -100,6 +100,7 @@ struct isa_attach_args { /* XXX need fixes, some are duplicated */ /* begin isapnp section */ int id; /* logical device ID */ + int comp_id; /* compatiable device ID */ int csn; /* card selection number */ int ldn; /* logical device number */ struct { |