Index: isa/atkbdc_isa.c =================================================================== RCS file: /home/naklab/tanimura/rina2/CVS/FreeBSD/sys/isa/atkbdc_isa.c,v retrieving revision 1.1.1.5.18.1 diff -u -r1.1.1.5.18.1 atkbdc_isa.c --- isa/atkbdc_isa.c 2001/06/14 10:08:19 1.1.1.5.18.1 +++ isa/atkbdc_isa.c 2001/07/06 04:58:37 @@ -145,6 +145,8 @@ if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0) return; + if (device_find_child(dev, name, unit) != NULL) + return; kdev = malloc(sizeof(struct atkbdc_device), M_ATKBDDEV, M_NOWAIT | M_ZERO); @@ -216,16 +218,20 @@ */ name = device_get_nameunit(dev); i = 0; - while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) + while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) { + device_printf(dev, "Adding a child %s%d\n", dname, dunit); atkbdc_add_device(dev, dname, dunit); + } /* * and atkbdc? */ name = device_get_name(dev); i = 0; - while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) + while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) { + device_printf(dev, "Adding a child %s%d\n", dname, dunit); atkbdc_add_device(dev, dname, dunit); + } bus_generic_attach(dev);