root/arch/arm/include/asm/thread_notify.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. thread_register_notifier
  2. thread_unregister_notifier
  3. thread_notify

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  *  arch/arm/include/asm/thread_notify.h
   4  *
   5  *  Copyright (C) 2006 Russell King.
   6  */
   7 #ifndef ASMARM_THREAD_NOTIFY_H
   8 #define ASMARM_THREAD_NOTIFY_H
   9 
  10 #ifdef __KERNEL__
  11 
  12 #ifndef __ASSEMBLY__
  13 
  14 #include <linux/notifier.h>
  15 #include <asm/thread_info.h>
  16 
  17 static inline int thread_register_notifier(struct notifier_block *n)
  18 {
  19         extern struct atomic_notifier_head thread_notify_head;
  20         return atomic_notifier_chain_register(&thread_notify_head, n);
  21 }
  22 
  23 static inline void thread_unregister_notifier(struct notifier_block *n)
  24 {
  25         extern struct atomic_notifier_head thread_notify_head;
  26         atomic_notifier_chain_unregister(&thread_notify_head, n);
  27 }
  28 
  29 static inline void thread_notify(unsigned long rc, struct thread_info *thread)
  30 {
  31         extern struct atomic_notifier_head thread_notify_head;
  32         atomic_notifier_call_chain(&thread_notify_head, rc, thread);
  33 }
  34 
  35 #endif
  36 
  37 /*
  38  * These are the reason codes for the thread notifier.
  39  */
  40 #define THREAD_NOTIFY_FLUSH     0
  41 #define THREAD_NOTIFY_EXIT      1
  42 #define THREAD_NOTIFY_SWITCH    2
  43 #define THREAD_NOTIFY_COPY      3
  44 
  45 #endif
  46 #endif

/* [<][>][^][v][top][bottom][index][help] */