Lines Matching refs:hook
183 config_intrhook_establish(struct intr_config_hook *hook) in config_intrhook_establish() argument
190 if (hook_entry == hook) in config_intrhook_establish()
198 STAILQ_INSERT_TAIL(&intr_config_hook_list, hook, ich_links); in config_intrhook_establish()
200 next_to_notify = hook; in config_intrhook_establish()
201 hook->ich_state = ICHS_QUEUED; in config_intrhook_establish()
230 config_intrhook_disestablish_locked(struct intr_config_hook *hook) in config_intrhook_disestablish_locked() argument
235 if (hook_entry == hook) in config_intrhook_disestablish_locked()
241 if (next_to_notify == hook) in config_intrhook_disestablish_locked()
242 next_to_notify = STAILQ_NEXT(hook, ich_links); in config_intrhook_disestablish_locked()
243 STAILQ_REMOVE(&intr_config_hook_list, hook, intr_config_hook, ich_links); in config_intrhook_disestablish_locked()
247 hook->ich_state = ICHS_DONE; in config_intrhook_disestablish_locked()
252 config_intrhook_disestablish(struct intr_config_hook *hook) in config_intrhook_disestablish() argument
255 config_intrhook_disestablish_locked(hook); in config_intrhook_disestablish()
260 config_intrhook_drain(struct intr_config_hook *hook) in config_intrhook_drain() argument
267 if (hook->ich_state == ICHS_DONE) { in config_intrhook_drain()
275 if (hook->ich_state == ICHS_QUEUED) { in config_intrhook_drain()
276 config_intrhook_disestablish_locked(hook); in config_intrhook_drain()
284 while (hook->ich_state != ICHS_DONE) { in config_intrhook_drain()