Lines Matching full:nl
17 static int notifier_chain_register(struct notifier_block **nl, in notifier_chain_register() argument
21 while ((*nl) != NULL) { in notifier_chain_register()
22 if (unlikely((*nl) == n)) { in notifier_chain_register()
27 if (n->priority > (*nl)->priority) in notifier_chain_register()
29 if (n->priority == (*nl)->priority && unique_priority) in notifier_chain_register()
31 nl = &((*nl)->next); in notifier_chain_register()
33 n->next = *nl; in notifier_chain_register()
34 rcu_assign_pointer(*nl, n); in notifier_chain_register()
39 static int notifier_chain_unregister(struct notifier_block **nl, in notifier_chain_unregister() argument
42 while ((*nl) != NULL) { in notifier_chain_unregister()
43 if ((*nl) == n) { in notifier_chain_unregister()
44 rcu_assign_pointer(*nl, n->next); in notifier_chain_unregister()
48 nl = &((*nl)->next); in notifier_chain_unregister()
55 * @nl: Pointer to head of the blocking notifier chain
65 static int notifier_call_chain(struct notifier_block **nl, in notifier_call_chain() argument
72 nb = rcu_dereference_raw(*nl); in notifier_call_chain()
102 * @nl: Pointer to head of the blocking notifier chain
108 * NOTE: It is important the @nl chain doesn't change between the two
114 static int notifier_call_chain_robust(struct notifier_block **nl, in notifier_call_chain_robust() argument
120 ret = notifier_call_chain(nl, val_up, v, -1, &nr); in notifier_call_chain_robust()
122 notifier_call_chain(nl, val_down, v, nr-1, NULL); in notifier_call_chain_robust()