Lines Matching refs:k

84 void klist_init(struct klist *k, void (*get)(struct klist_node *),  in klist_init()  argument
87 INIT_LIST_HEAD(&k->k_list); in klist_init()
88 spin_lock_init(&k->k_lock); in klist_init()
89 k->get = get; in klist_init()
90 k->put = put; in klist_init()
94 static void add_head(struct klist *k, struct klist_node *n) in add_head() argument
96 spin_lock(&k->k_lock); in add_head()
97 list_add(&n->n_node, &k->k_list); in add_head()
98 spin_unlock(&k->k_lock); in add_head()
101 static void add_tail(struct klist *k, struct klist_node *n) in add_tail() argument
103 spin_lock(&k->k_lock); in add_tail()
104 list_add_tail(&n->n_node, &k->k_list); in add_tail()
105 spin_unlock(&k->k_lock); in add_tail()
108 static void klist_node_init(struct klist *k, struct klist_node *n) in klist_node_init() argument
112 knode_set_klist(n, k); in klist_node_init()
113 if (k->get) in klist_node_init()
114 k->get(n); in klist_node_init()
122 void klist_add_head(struct klist_node *n, struct klist *k) in klist_add_head() argument
124 klist_node_init(k, n); in klist_add_head()
125 add_head(k, n); in klist_add_head()
134 void klist_add_tail(struct klist_node *n, struct klist *k) in klist_add_tail() argument
136 klist_node_init(k, n); in klist_add_tail()
137 add_tail(k, n); in klist_add_tail()
148 struct klist *k = knode_klist(pos); in klist_add_behind() local
150 klist_node_init(k, n); in klist_add_behind()
151 spin_lock(&k->k_lock); in klist_add_behind()
153 spin_unlock(&k->k_lock); in klist_add_behind()
164 struct klist *k = knode_klist(pos); in klist_add_before() local
166 klist_node_init(k, n); in klist_add_before()
167 spin_lock(&k->k_lock); in klist_add_before()
169 spin_unlock(&k->k_lock); in klist_add_before()
211 struct klist *k = knode_klist(n); in klist_put() local
212 void (*put)(struct klist_node *) = k->put; in klist_put()
214 spin_lock(&k->k_lock); in klist_put()
219 spin_unlock(&k->k_lock); in klist_put()
280 void klist_iter_init_node(struct klist *k, struct klist_iter *i, in klist_iter_init_node() argument
283 i->i_klist = k; in klist_iter_init_node()
297 void klist_iter_init(struct klist *k, struct klist_iter *i) in klist_iter_init() argument
299 klist_iter_init_node(k, i, NULL); in klist_iter_init()