Lines Matching defs:driver

31  * @brief Probe to see if a device matches a driver.
34 * is called via device_probe_and_attach() to select a driver
36 * the winning driver (if any) to the device.
39 * Typically, the driver will examine the device to see if
40 * it is suitable for this driver. This might include checking
44 * In some cases, there may be more than one driver available
46 * be a generic driver which works for a set of many types of
47 * device and a more specific driver which works for a subset
48 * of devices). Because of this, a driver should not assume
49 * that it will be the driver that attaches to the device even
51 * a driver must free any resources which it allocated during
53 * is used to elect which driver is used - the driver which returns
58 * If a driver matches the hardware, it should set the device
63 * As a special case, if a driver returns zero, the driver election
64 * is cut short and that driver will attach to the device
67 * For example, a probe method for a PCI device driver might look
83 * To include this method in a device driver, use a line like this
84 * in the driver's method list:
92 * @retval 0 if this is the only possible driver for this
94 * @retval negative if the driver can match this device - the
96 * driver
97 * @retval ENXIO if the driver does not match the device
114 typedef void device_identify_t(driver_t *driver, device_t parent);
116 * @brief Allow a device driver to detect devices not otherwise enumerated.
119 * bus driver) to help populate the bus device with a useful set of
121 * the parent device. For instance, the ISA bus driver uses several
122 * special drivers, including the isahint driver and the pnp driver to
130 * To include this method in a device driver, use a line like this
131 * in the driver's method list:
137 * @param driver the driver whose identify method is being called
141 static __inline void DEVICE_IDENTIFY(driver_t *driver, device_t parent)
144 KOBJOPLOOKUP(driver->ops,device_identify);
145 ((device_identify_t *) _m)(driver, parent);
153 * @brief Attach a device to a device driver
156 * when a driver has succeeded in probing against a device.
160 * To include this method in a device driver, use a line like this
161 * in the driver's method list:
188 * @brief Detach a driver from a device.
191 * driver software or if a device is about to be physically removed
194 * To include this method in a device driver, use a line like this
195 * in the driver's method list:
205 * driver does not support detaching.
228 * To include this method in a device driver, use a line like this
229 * in the driver's method list:
255 * To include this method in a device driver, use a line like this in
256 * the driver's method list:
285 * To include this method in a device driver, use a line like this
286 * in the driver's method list:
313 * @brief This is called when the driver is asked to quiesce itself.
315 * The driver should arrange for the orderly shutdown of this device.
319 * To include this method in a device driver, use a line like this
320 * in the driver's method list:
347 * @brief This is called when the driver is asked to register handlers.
350 * To include this method in a device driver, use a line like this
351 * in the driver's method list:
360 * @retval non-NULL a pointer to implementation specific static driver state