aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ppc
diff options
context:
space:
mode:
authorGarrett Wollman <wollman@FreeBSD.org>2000-04-22 15:08:50 +0000
committerGarrett Wollman <wollman@FreeBSD.org>2000-04-22 15:08:50 +0000
commit7a15d6195141d11ab212015794d9bd548d391617 (patch)
treeb69ab932167a00d93a4742df88ec2e91c3dbd910 /sys/dev/ppc
parent5844ed9ed151ac3dd1fb4f004ba60b8f42c12ec5 (diff)
downloadsrc-7a15d6195141d11ab212015794d9bd548d391617.tar.gz
src-7a15d6195141d11ab212015794d9bd548d391617.zip
Enable PnP attachment for parallel port controllers.
PR: 17495
Notes
Notes: svn path=/head/; revision=59491
Diffstat (limited to 'sys/dev/ppc')
-rw-r--r--sys/dev/ppc/ppc.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/dev/ppc/ppc.c b/sys/dev/ppc/ppc.c
index eb49870e8403..53cb50da8aa2 100644
--- a/sys/dev/ppc/ppc.c
+++ b/sys/dev/ppc/ppc.c
@@ -1692,6 +1692,12 @@ ppc_setmode(device_t dev, int mode)
return (ENXIO);
}
+static struct isa_pnp_id lpc_ids[] = {
+ { 0x0004d041, "Standard parallel printer port" }, /* PNP0400 */
+ { 0x0104d041, "ECP parallel printer port" }, /* PNP0401 */
+ { 0 }
+};
+
static int
ppc_probe(device_t dev)
{
@@ -1703,14 +1709,13 @@ ppc_probe(device_t dev)
int error;
u_long port;
- /* If we are a PNP device, abort. Otherwise we attach to *everthing* */
- if (isa_get_logicalid(dev))
- return ENXIO;
-
parent = device_get_parent(dev);
- /* XXX shall be set after detection */
- device_set_desc(dev, "Parallel port");
+ error = ISA_PNP_PROBE(parent, dev, lpc_ids);
+ if (error == ENXIO)
+ return (ENXIO);
+ else if (error != 0) /* XXX shall be set after detection */
+ device_set_desc(dev, "Parallel port");
/*
* Allocate the ppc_data structure.