Lines Matching refs:k

85 void klist_init(struct klist *k, void (*get)(struct klist_node *),  in klist_init()  argument
88 INIT_LIST_HEAD(&k->k_list); in klist_init()
89 spin_lock_init(&k->k_lock); in klist_init()
90 k->get = get; in klist_init()
91 k->put = put; in klist_init()
95 static void add_head(struct klist *k, struct klist_node *n) in add_head() argument
97 spin_lock(&k->k_lock); in add_head()
98 list_add(&n->n_node, &k->k_list); in add_head()
99 spin_unlock(&k->k_lock); in add_head()
102 static void add_tail(struct klist *k, struct klist_node *n) in add_tail() argument
104 spin_lock(&k->k_lock); in add_tail()
105 list_add_tail(&n->n_node, &k->k_list); in add_tail()
106 spin_unlock(&k->k_lock); in add_tail()
109 static void klist_node_init(struct klist *k, struct klist_node *n) in klist_node_init() argument
113 knode_set_klist(n, k); in klist_node_init()
114 if (k->get) in klist_node_init()
115 k->get(n); in klist_node_init()
123 void klist_add_head(struct klist_node *n, struct klist *k) in klist_add_head() argument
125 klist_node_init(k, n); in klist_add_head()
126 add_head(k, n); in klist_add_head()
135 void klist_add_tail(struct klist_node *n, struct klist *k) in klist_add_tail() argument
137 klist_node_init(k, n); in klist_add_tail()
138 add_tail(k, n); in klist_add_tail()
149 struct klist *k = knode_klist(pos); in klist_add_behind() local
151 klist_node_init(k, n); in klist_add_behind()
152 spin_lock(&k->k_lock); in klist_add_behind()
154 spin_unlock(&k->k_lock); in klist_add_behind()
165 struct klist *k = knode_klist(pos); in klist_add_before() local
167 klist_node_init(k, n); in klist_add_before()
168 spin_lock(&k->k_lock); in klist_add_before()
170 spin_unlock(&k->k_lock); in klist_add_before()
212 struct klist *k = knode_klist(n); in klist_put() local
213 void (*put)(struct klist_node *) = k->put; in klist_put()
215 spin_lock(&k->k_lock); in klist_put()
220 spin_unlock(&k->k_lock); in klist_put()
281 void klist_iter_init_node(struct klist *k, struct klist_iter *i, in klist_iter_init_node() argument
284 i->i_klist = k; in klist_iter_init_node()
298 void klist_iter_init(struct klist *k, struct klist_iter *i) in klist_iter_init() argument
300 klist_iter_init_node(k, i, NULL); in klist_iter_init()