| Main index | Section 9 | 日本語 | Options |
#include <sys/param.h>
#include <sys/bus.h>
For each newly identified device, a new device instance should be created by invoking the BUS_ADD_CHILD(9) method. If the identify method is able to discover other properties about the new device, those should also be set. For example, device resources should be added to the device by calling bus_set_resource(9) for each resource.
An identify method might be invoked multiple times. If a device driver is unloaded and loaded, the identify method will be called a second time after being reloaded. As a result, the identify method should avoid duplicate devices. Devices added by identify methods typically use a fixed device name in which case device_find_child(9) can be used to detect existing devices.
void
foo_identify(driver_t *driver, device_t parent)
{
device_t child;
retrieve_device_information;
if (devices matches one of your supported devices &&
device_get_child(parent, "foo", -1) == NULL) {
child = BUS_ADD_CHILD(parent, 0, "foo", -1);
bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1);
}
}
| DEVICE_IDENTIFY (9) | January 9, 2025 |
| Main index | Section 9 | 日本語 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
