Lines Matching defs:driv
768 * 'driv->board_name' points to a 'const char *' member within the
775 * 'driv->offset' is the size of the private board information
776 * structure, say 'sizeof(struct foo_board)', and 'driv->num_names' is
790 static void *comedi_recognize(struct comedi_driver *driv, const char *name)
792 char **name_ptr = (char **)driv->board_name;
795 for (i = 0; i < driv->num_names; i++) {
798 name_ptr = (void *)name_ptr + driv->offset;
804 static void comedi_report_boards(struct comedi_driver *driv)
810 driv->driver_name);
812 name_ptr = driv->board_name;
813 for (i = 0; i < driv->num_names; i++) {
815 name_ptr = (const char **)((char *)name_ptr + driv->offset);
818 if (driv->num_names == 0)
819 pr_info(" %s\n", driv->driver_name);
951 struct comedi_driver *driv;
959 for (driv = comedi_drivers; driv; driv = driv->next) {
960 if (!try_module_get(driv->module))
962 if (driv->num_names) {
963 dev->board_ptr = comedi_recognize(driv, it->board_name);
966 } else if (strcmp(driv->driver_name, it->board_name) == 0) {
969 module_put(driv->module);
971 if (!driv) {
974 for (driv = comedi_drivers; driv; driv = driv->next) {
975 if (!try_module_get(driv->module))
977 comedi_report_boards(driv);
978 module_put(driv->module);
983 if (!driv->attach) {
987 driv->driver_name);
988 module_put(driv->module);
992 dev->driver = driv;
995 ret = driv->attach(dev, it);
1000 module_put(driv->module);