devclass_find_free_unit

M. Warner Losh imp at bsdimp.com
Tue Jun 9 23:42:32 UTC 2009


What purpose does devclass_find_free_unit serve?  I think it can safely be
eliminated from the tree.  The current design is racy.

Comments?

It is currently used:

./arm/xscale/ixp425/.svn/text-base/avila_ata.c.svn-base:        device_add_child(dev, "ata", devclass_find_free_unit(ata_devclass, 0));
./arm/xscale/ixp425/avila_ata.c:        device_add_child(dev, "ata", devclass_find_free_unit(ata_devclass, 0));
./arm/at91/.svn/text-base/at91_cfata.c.svn-base:        device_add_child(dev, "ata", devclass_find_free_unit(ata_devclass, 0));
./arm/at91/at91_cfata.c:        device_add_child(dev, "ata", devclass_find_free_unit(ata_devclass, 0));
./powerpc/psim/.svn/text-base/ata_iobus.c.svn-base:                      devclass_find_free_unit(ata_devclass, 0));

# All the above can be replaced with a simple '-1'.

ata/ata-pci.c:      unit : devclass_find_free_unit(ata_devclass, 2));
ata/ata-usb.c:              devclass_find_free_unit(ata_devclass, 2))) == NULL) {

These can likely be replaced by '2', but that may result in a warning
message being printed that likely can be eliminated...

comments?

Warner


More information about the freebsd-arch mailing list