thread_notify.h (1086B)
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 17static 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 23static 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 29static 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