• Home
  • Raw
  • Download

Lines Matching refs:nh

123 int atomic_notifier_chain_register(struct atomic_notifier_head *nh,  in atomic_notifier_chain_register()  argument
129 spin_lock_irqsave(&nh->lock, flags); in atomic_notifier_chain_register()
130 ret = notifier_chain_register(&nh->head, n); in atomic_notifier_chain_register()
131 spin_unlock_irqrestore(&nh->lock, flags); in atomic_notifier_chain_register()
145 int atomic_notifier_chain_unregister(struct atomic_notifier_head *nh, in atomic_notifier_chain_unregister() argument
151 spin_lock_irqsave(&nh->lock, flags); in atomic_notifier_chain_unregister()
152 ret = notifier_chain_unregister(&nh->head, n); in atomic_notifier_chain_unregister()
153 spin_unlock_irqrestore(&nh->lock, flags); in atomic_notifier_chain_unregister()
178 int __atomic_notifier_call_chain(struct atomic_notifier_head *nh, in __atomic_notifier_call_chain() argument
185 ret = notifier_call_chain(&nh->head, val, v, nr_to_call, nr_calls); in __atomic_notifier_call_chain()
192 int atomic_notifier_call_chain(struct atomic_notifier_head *nh, in atomic_notifier_call_chain() argument
195 return __atomic_notifier_call_chain(nh, val, v, -1, NULL); in atomic_notifier_call_chain()
215 int blocking_notifier_chain_register(struct blocking_notifier_head *nh, in blocking_notifier_chain_register() argument
226 return notifier_chain_register(&nh->head, n); in blocking_notifier_chain_register()
228 down_write(&nh->rwsem); in blocking_notifier_chain_register()
229 ret = notifier_chain_register(&nh->head, n); in blocking_notifier_chain_register()
230 up_write(&nh->rwsem); in blocking_notifier_chain_register()
246 int blocking_notifier_chain_cond_register(struct blocking_notifier_head *nh, in blocking_notifier_chain_cond_register() argument
251 down_write(&nh->rwsem); in blocking_notifier_chain_cond_register()
252 ret = notifier_chain_cond_register(&nh->head, n); in blocking_notifier_chain_cond_register()
253 up_write(&nh->rwsem); in blocking_notifier_chain_cond_register()
268 int blocking_notifier_chain_unregister(struct blocking_notifier_head *nh, in blocking_notifier_chain_unregister() argument
279 return notifier_chain_unregister(&nh->head, n); in blocking_notifier_chain_unregister()
281 down_write(&nh->rwsem); in blocking_notifier_chain_unregister()
282 ret = notifier_chain_unregister(&nh->head, n); in blocking_notifier_chain_unregister()
283 up_write(&nh->rwsem); in blocking_notifier_chain_unregister()
306 int __blocking_notifier_call_chain(struct blocking_notifier_head *nh, in __blocking_notifier_call_chain() argument
317 if (rcu_access_pointer(nh->head)) { in __blocking_notifier_call_chain()
318 down_read(&nh->rwsem); in __blocking_notifier_call_chain()
319 ret = notifier_call_chain(&nh->head, val, v, nr_to_call, in __blocking_notifier_call_chain()
321 up_read(&nh->rwsem); in __blocking_notifier_call_chain()
327 int blocking_notifier_call_chain(struct blocking_notifier_head *nh, in blocking_notifier_call_chain() argument
330 return __blocking_notifier_call_chain(nh, val, v, -1, NULL); in blocking_notifier_call_chain()
349 int raw_notifier_chain_register(struct raw_notifier_head *nh, in raw_notifier_chain_register() argument
352 return notifier_chain_register(&nh->head, n); in raw_notifier_chain_register()
366 int raw_notifier_chain_unregister(struct raw_notifier_head *nh, in raw_notifier_chain_unregister() argument
369 return notifier_chain_unregister(&nh->head, n); in raw_notifier_chain_unregister()
392 int __raw_notifier_call_chain(struct raw_notifier_head *nh, in __raw_notifier_call_chain() argument
396 return notifier_call_chain(&nh->head, val, v, nr_to_call, nr_calls); in __raw_notifier_call_chain()
400 int raw_notifier_call_chain(struct raw_notifier_head *nh, in raw_notifier_call_chain() argument
403 return __raw_notifier_call_chain(nh, val, v, -1, NULL); in raw_notifier_call_chain()
423 int srcu_notifier_chain_register(struct srcu_notifier_head *nh, in srcu_notifier_chain_register() argument
434 return notifier_chain_register(&nh->head, n); in srcu_notifier_chain_register()
436 mutex_lock(&nh->mutex); in srcu_notifier_chain_register()
437 ret = notifier_chain_register(&nh->head, n); in srcu_notifier_chain_register()
438 mutex_unlock(&nh->mutex); in srcu_notifier_chain_register()
453 int srcu_notifier_chain_unregister(struct srcu_notifier_head *nh, in srcu_notifier_chain_unregister() argument
464 return notifier_chain_unregister(&nh->head, n); in srcu_notifier_chain_unregister()
466 mutex_lock(&nh->mutex); in srcu_notifier_chain_unregister()
467 ret = notifier_chain_unregister(&nh->head, n); in srcu_notifier_chain_unregister()
468 mutex_unlock(&nh->mutex); in srcu_notifier_chain_unregister()
469 synchronize_srcu(&nh->srcu); in srcu_notifier_chain_unregister()
492 int __srcu_notifier_call_chain(struct srcu_notifier_head *nh, in __srcu_notifier_call_chain() argument
499 idx = srcu_read_lock(&nh->srcu); in __srcu_notifier_call_chain()
500 ret = notifier_call_chain(&nh->head, val, v, nr_to_call, nr_calls); in __srcu_notifier_call_chain()
501 srcu_read_unlock(&nh->srcu, idx); in __srcu_notifier_call_chain()
506 int srcu_notifier_call_chain(struct srcu_notifier_head *nh, in srcu_notifier_call_chain() argument
509 return __srcu_notifier_call_chain(nh, val, v, -1, NULL); in srcu_notifier_call_chain()
525 void srcu_init_notifier_head(struct srcu_notifier_head *nh) in srcu_init_notifier_head() argument
527 mutex_init(&nh->mutex); in srcu_init_notifier_head()
528 if (init_srcu_struct(&nh->srcu) < 0) in srcu_init_notifier_head()
530 nh->head = NULL; in srcu_init_notifier_head()