Lines Matching refs:driver

34  * driver), comedi_set_hw_dev() is called automatically by the COMEDI core
133 * is zero-filled. The low-level driver is responsible for updating its
183 dev->driver = NULL;
205 if (dev->driver)
206 dev->driver->detach(dev);
271 * comedi_timeout() - Busy-wait for a driver condition to occur
276 * @context: Private context from the driver.
581 * to stop the acquisition at the driver level.
783 * a 'struct comedi_device' that the low-level comedi driver's
809 pr_info("comedi: valid board names for %s driver are:\n",
828 * @context: Private context from the driver.
862 * __comedi_request_region() - Request an I/O region for a legacy driver
894 * comedi_request_region() - Request an I/O region for a legacy driver
930 * can also be called by a driver-specific 'detach' handler.
984 /* driver does not support manual configuration */
986 "driver '%s' does not support attach using comedi_config\n",
992 dev->driver = driv;
994 : dev->driver->driver_name;
1002 /* On success, the driver module count has been incremented. */
1011 * @driver: COMEDI low-level driver for the hardware device.
1015 * low-level driver's 'auto_attach' handler to set-up the hardware and
1018 * If the 'auto_attach' handler fails, the low-level driver's 'detach'
1023 * function in the low-level driver.
1026 * post-configuration determines the driver has set the COMEDI device up
1029 * the driver's 'auto_attach' handler.
1032 struct comedi_driver *driver, unsigned long context)
1041 if (!driver) {
1043 "BUG! %s called with NULL comedi driver\n", __func__);
1047 if (!driver->auto_attach) {
1049 "BUG! comedi driver '%s' has no auto_attach handler\n",
1050 driver->driver_name);
1057 "driver '%s' could not create device.\n",
1058 driver->driver_name);
1064 dev->driver = driver;
1065 dev->board_name = dev->driver->driver_name;
1066 ret = driver->auto_attach(dev, context);
1072 "driver '%s' failed to auto-configure device.\n",
1073 driver->driver_name);
1082 "driver '%s' has successfully auto-configured '%s'.\n",
1083 driver->driver_name, dev->board_name);
1097 * clean-up, the low-level COMEDI driver's 'detach' handler will be called.
1104 * in the low-level COMEDI driver.
1115 * comedi_driver_register() - Register a low-level COMEDI driver
1116 * @driver: Low-level COMEDI driver.
1118 * The low-level COMEDI driver is added to the list of registered COMEDI
1125 int comedi_driver_register(struct comedi_driver *driver)
1128 driver->next = comedi_drivers;
1129 comedi_drivers = driver;
1137 * comedi_driver_unregister() - Unregister a low-level COMEDI driver
1138 * @driver: Low-level COMEDI driver.
1140 * The low-level COMEDI driver is removed from the list of registered COMEDI
1141 * drivers. Detaches any COMEDI devices attached to the driver, which will
1142 * result in the low-level driver's 'detach' handler being called for those
1145 void comedi_driver_unregister(struct comedi_driver *driver)
1150 /* unlink the driver */
1152 if (comedi_drivers == driver) {
1153 comedi_drivers = driver->next;
1156 if (prev->next == driver) {
1157 prev->next = driver->next;
1164 /* check for devices using this driver */
1172 if (dev->attached && dev->driver == driver) {