Index: ad1816.c =================================================================== RCS file: /usr/cvs/src/sys/dev/sound/isa/ad1816.c,v retrieving revision 1.39 diff -u -r1.39 ad1816.c --- ad1816.c 21 Mar 2006 03:47:25 -0000 1.39 +++ ad1816.c 11 May 2006 20:12:36 -0000 @@ -570,26 +570,17 @@ return 0; } +static struct isa_pnp_id ad1816_ids[] = { + {0x80719304, "AD1816"}, /* ADS7180 */ + {0x50719304, "AD1815"}, /* ADS7150 */ + {0}, +}; + static int ad1816_probe(device_t dev) { - char *s = NULL; - u_int32_t logical_id = isa_get_logicalid(dev); - - switch (logical_id) { - case 0x80719304: /* ADS7180 */ - s = "AD1816"; - break; - case 0x50719304: /* ADS7150 */ - s = "AD1815"; - break; - } - if (s) { - device_set_desc(dev, s); - return BUS_PROBE_DEFAULT; - } - return ENXIO; + return ISA_PNP_PROBE(device_get_parent(dev), dev, ad1816_ids); } static int