Lines Matching refs:driv

790 static void *comedi_recognize(struct comedi_driver *driv, const char *name)  in comedi_recognize()  argument
792 char **name_ptr = (char **)driv->board_name; in comedi_recognize()
795 for (i = 0; i < driv->num_names; i++) { in comedi_recognize()
798 name_ptr = (void *)name_ptr + driv->offset; in comedi_recognize()
804 static void comedi_report_boards(struct comedi_driver *driv) in comedi_report_boards() argument
810 driv->driver_name); in comedi_report_boards()
812 name_ptr = driv->board_name; in comedi_report_boards()
813 for (i = 0; i < driv->num_names; i++) { in comedi_report_boards()
815 name_ptr = (const char **)((char *)name_ptr + driv->offset); in comedi_report_boards()
818 if (driv->num_names == 0) in comedi_report_boards()
819 pr_info(" %s\n", driv->driver_name); in comedi_report_boards()
951 struct comedi_driver *driv; in comedi_device_attach() local
959 for (driv = comedi_drivers; driv; driv = driv->next) { in comedi_device_attach()
960 if (!try_module_get(driv->module)) in comedi_device_attach()
962 if (driv->num_names) { in comedi_device_attach()
963 dev->board_ptr = comedi_recognize(driv, it->board_name); in comedi_device_attach()
966 } else if (strcmp(driv->driver_name, it->board_name) == 0) { in comedi_device_attach()
969 module_put(driv->module); in comedi_device_attach()
971 if (!driv) { in comedi_device_attach()
974 for (driv = comedi_drivers; driv; driv = driv->next) { in comedi_device_attach()
975 if (!try_module_get(driv->module)) in comedi_device_attach()
977 comedi_report_boards(driv); in comedi_device_attach()
978 module_put(driv->module); in comedi_device_attach()
983 if (!driv->attach) { in comedi_device_attach()
987 driv->driver_name); in comedi_device_attach()
988 module_put(driv->module); in comedi_device_attach()
992 dev->driver = driv; in comedi_device_attach()
995 ret = driv->attach(dev, it); in comedi_device_attach()
1000 module_put(driv->module); in comedi_device_attach()