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
184 dev->driver = NULL;
206 if (dev->driver)
207 dev->driver->detach(dev);
272 * comedi_timeout() - Busy-wait for a driver condition to occur
277 * @context: Private context from the driver.
582 * to stop the acquisition at the driver level.
784 * a 'struct comedi_device' that the low-level comedi driver's
810 pr_info("comedi: valid board names for %s driver are:\n",
829 * @context: Private context from the driver.
863 * __comedi_request_region() - Request an I/O region for a legacy driver
895 * comedi_request_region() - Request an I/O region for a legacy driver
931 * can also be called by a driver-specific 'detach' handler.
985 /* driver does not support manual configuration */
987 "driver '%s' does not support attach using comedi_config\n",
993 dev->driver = driv;
995 : dev->driver->driver_name;
1003 /* On success, the driver module count has been incremented. */
1012 * @driver: COMEDI low-level driver for the hardware device.
1016 * low-level driver's 'auto_attach' handler to set-up the hardware and
1019 * If the 'auto_attach' handler fails, the low-level driver's 'detach'
1024 * function in the low-level driver.
1027 * post-configuration determines the driver has set the COMEDI device up
1030 * the driver's 'auto_attach' handler.
1033 struct comedi_driver *driver, unsigned long context)
1042 if (!driver) {
1044 "BUG! %s called with NULL comedi driver\n", __func__);
1048 if (!driver->auto_attach) {
1050 "BUG! comedi driver '%s' has no auto_attach handler\n",
1051 driver->driver_name);
1058 "driver '%s' could not create device.\n",
1059 driver->driver_name);
1065 dev->driver = driver;
1066 dev->board_name = dev->driver->driver_name;
1067 ret = driver->auto_attach(dev, context);
1073 "driver '%s' failed to auto-configure device.\n",
1074 driver->driver_name);
1083 "driver '%s' has successfully auto-configured '%s'.\n",
1084 driver->driver_name, dev->board_name);
1098 * clean-up, the low-level COMEDI driver's 'detach' handler will be called.
1105 * in the low-level COMEDI driver.
1116 * comedi_driver_register() - Register a low-level COMEDI driver
1117 * @driver: Low-level COMEDI driver.
1119 * The low-level COMEDI driver is added to the list of registered COMEDI
1126 int comedi_driver_register(struct comedi_driver *driver)
1129 driver->next = comedi_drivers;
1130 comedi_drivers = driver;
1138 * comedi_driver_unregister() - Unregister a low-level COMEDI driver
1139 * @driver: Low-level COMEDI driver.
1141 * The low-level COMEDI driver is removed from the list of registered COMEDI
1142 * drivers. Detaches any COMEDI devices attached to the driver, which will
1143 * result in the low-level driver's 'detach' handler being called for those
1146 void comedi_driver_unregister(struct comedi_driver *driver)
1151 /* unlink the driver */
1153 if (comedi_drivers == driver) {
1154 comedi_drivers = driver->next;
1157 if (prev->next == driver) {
1158 prev->next = driver->next;
1165 /* check for devices using this driver */
1173 if (dev->attached && dev->driver == driver) {