Lines Matching refs:spec
867 hwc_hash_insert(struct hwc_spec *spec, const char *name, mod_hash_t *hash) in hwc_hash_insert() argument
879 if (mod_hash_insert(hash, key, (mod_hash_val_t)spec) != 0) { in hwc_hash_insert()
893 entry->hwc_hash_next = spec; in hwc_hash_insert()
901 hwc_hash_remove(struct hwc_spec *spec, const char *name, mod_hash_t *hash) in hwc_hash_remove() argument
917 if (entry == spec) { in hwc_hash_remove()
918 if (spec->hwc_hash_next == NULL) { in hwc_hash_remove()
925 (mod_hash_val_t)spec->hwc_hash_next); in hwc_hash_remove()
926 spec->hwc_hash_next = NULL; in hwc_hash_remove()
934 while (entry->hwc_hash_next && (entry->hwc_hash_next != spec)) in hwc_hash_remove()
938 entry->hwc_hash_next = spec->hwc_hash_next; in hwc_hash_remove()
939 spec->hwc_hash_next = NULL; in hwc_hash_remove()
949 struct hwc_spec *spec = spec_list; in hwc_hash() local
952 while (spec) { in hwc_hash()
954 spec->hwc_major = major; in hwc_hash()
956 if (spec->hwc_parent_name != NULL) { in hwc_hash()
957 hwc_hash_insert(spec, spec->hwc_parent_name, in hwc_hash()
959 } else if (spec->hwc_class_name != NULL) { in hwc_hash()
960 hwc_hash_insert(spec, spec->hwc_class_name, in hwc_hash()
966 spec = spec->hwc_next; in hwc_hash()
977 struct hwc_spec *spec = spec_list; in hwc_unhash() local
980 while (spec) { in hwc_unhash()
981 if (spec->hwc_parent_name != NULL) { in hwc_unhash()
982 hwc_hash_remove(spec, spec->hwc_parent_name, in hwc_unhash()
984 } else if (spec->hwc_class_name != NULL) { in hwc_unhash()
985 hwc_hash_remove(spec, spec->hwc_class_name, in hwc_unhash()
991 spec = spec->hwc_next; in hwc_unhash()
1012 struct hwc_spec *spec; in hwc_spec_add() local
1025 spec = kmem_zalloc(sizeof (*spec), KM_SLEEP); in hwc_spec_add()
1026 spec->hwc_devi_name = i_ddi_strdup( in hwc_spec_add()
1028 spec->hwc_major = entry->hwc_major; in hwc_spec_add()
1029 spec->hwc_devi_sys_prop_ptr = i_ddi_prop_list_dup( in hwc_spec_add()
1032 *listp = spec; in hwc_spec_add()
1033 listp = &spec->hwc_next; in hwc_spec_add()