Lines Matching refs:driv

791 static void *comedi_recognize(struct comedi_driver *driv, const char *name)  in comedi_recognize()  argument
793 char **name_ptr = (char **)driv->board_name; in comedi_recognize()
796 for (i = 0; i < driv->num_names; i++) { in comedi_recognize()
799 name_ptr = (void *)name_ptr + driv->offset; in comedi_recognize()
805 static void comedi_report_boards(struct comedi_driver *driv) in comedi_report_boards() argument
811 driv->driver_name); in comedi_report_boards()
813 name_ptr = driv->board_name; in comedi_report_boards()
814 for (i = 0; i < driv->num_names; i++) { in comedi_report_boards()
816 name_ptr = (const char **)((char *)name_ptr + driv->offset); in comedi_report_boards()
819 if (driv->num_names == 0) in comedi_report_boards()
820 pr_info(" %s\n", driv->driver_name); in comedi_report_boards()
952 struct comedi_driver *driv; in comedi_device_attach() local
960 for (driv = comedi_drivers; driv; driv = driv->next) { in comedi_device_attach()
961 if (!try_module_get(driv->module)) in comedi_device_attach()
963 if (driv->num_names) { in comedi_device_attach()
964 dev->board_ptr = comedi_recognize(driv, it->board_name); in comedi_device_attach()
967 } else if (strcmp(driv->driver_name, it->board_name) == 0) { in comedi_device_attach()
970 module_put(driv->module); in comedi_device_attach()
972 if (!driv) { in comedi_device_attach()
975 for (driv = comedi_drivers; driv; driv = driv->next) { in comedi_device_attach()
976 if (!try_module_get(driv->module)) in comedi_device_attach()
978 comedi_report_boards(driv); in comedi_device_attach()
979 module_put(driv->module); in comedi_device_attach()
984 if (!driv->attach) { in comedi_device_attach()
988 driv->driver_name); in comedi_device_attach()
989 module_put(driv->module); in comedi_device_attach()
993 dev->driver = driv; in comedi_device_attach()
996 ret = driv->attach(dev, it); in comedi_device_attach()
1001 module_put(driv->module); in comedi_device_attach()