Lines Matching refs:module
171 static void dacf_destroy_opsets(dacf_module_t *module);
311 char *module, char *opset, dacf_opid_t opid, uint_t opts, in dacf_rule_insert() argument
324 module ? module : "[kernel]", opset, dacf_opid_to_str(opid)); in dacf_rule_insert()
341 rule = dacf_rule_ctor(devspec_data, module, opset, opid, opts, in dacf_rule_insert()
355 devspec_data, module, opset, dacf_opid_to_str(opid)); in dacf_rule_insert()
366 dacf_rule_ctor(char *device_spec, char *module, char *opset, dacf_opid_t opid, in dacf_rule_ctor() argument
384 if (module == NULL) { in dacf_rule_ctor()
385 module = kmod_name; in dacf_rule_ctor()
388 rule->r_module = kmem_alloc(strlen(module) + 1, KM_SLEEP); in dacf_rule_ctor()
389 (void) strcpy(rule->r_module, module); in dacf_rule_ctor()
673 dacf_module_t *module; in dacf_module_register() local
710 (mod_hash_val_t)&module) == 0) { in dacf_module_register()
714 rw_enter(&module->dm_lock, RW_WRITER); in dacf_module_register()
715 if (module->dm_loaded) { in dacf_module_register()
716 rw_exit(&module->dm_lock); in dacf_module_register()
730 module = kmem_zalloc(sizeof (dacf_module_t), KM_SLEEP); in dacf_module_register()
733 rw_enter(&module->dm_lock, RW_WRITER); in dacf_module_register()
736 (mod_hash_val_t)module) != 0) { in dacf_module_register()
737 rw_exit(&module->dm_lock); in dacf_module_register()
739 kmem_free(module, sizeof (dacf_module_t)); in dacf_module_register()
749 ASSERT(RW_WRITE_HELD(&module->dm_lock)); in dacf_module_register()
765 ASSERT(module->dm_opsets == NULL); /* see dacf_destroy_opsets() */ in dacf_module_register()
766 module->dm_opsets = opsarray; in dacf_module_register()
775 module->dm_loaded = 1; in dacf_module_register()
776 rw_exit(&module->dm_lock); in dacf_module_register()
789 dacf_module_t *module; in dacf_module_unregister() local
809 (mod_hash_val_t)&module) == 0) { in dacf_module_unregister()
811 !rw_tryenter(&module->dm_lock, RW_WRITER)) { in dacf_module_unregister()
818 ASSERT(RW_WRITE_HELD(&module->dm_lock)); in dacf_module_unregister()
819 dacf_destroy_opsets(module); in dacf_module_unregister()
820 module->dm_loaded = 0; in dacf_module_unregister()
821 rw_exit(&module->dm_lock); in dacf_module_unregister()
830 dacf_destroy_opsets(dacf_module_t *module) in dacf_destroy_opsets() argument
832 dacf_opset_t *array = module->dm_opsets; in dacf_destroy_opsets()
837 ASSERT(RW_WRITE_HELD(&module->dm_lock)); in dacf_destroy_opsets()
838 ASSERT(module->dm_loaded == 1); in dacf_destroy_opsets()
861 module->dm_opsets = NULL; in dacf_destroy_opsets()
917 dacf_module_t *module; in dacf_op_invoke() local
940 (mod_hash_val_t *)&module) == 0) { in dacf_op_invoke()
941 rw_enter(&module->dm_lock, RW_READER); in dacf_op_invoke()
945 if (module->dm_loaded != 0) { in dacf_op_invoke()
948 rw_exit(&module->dm_lock); in dacf_op_invoke()
962 ASSERT(RW_READ_HELD(&module->dm_lock)); in dacf_op_invoke()
964 opsarray = module->dm_opsets; in dacf_op_invoke()
981 rw_exit(&module->dm_lock); in dacf_op_invoke()
1003 rw_exit(&module->dm_lock); in dacf_op_invoke()
1039 rw_exit(&module->dm_lock); in dacf_op_invoke()