1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 2 /* 3 * arch/arm/include/asm/bL_switcher.h 4 * 5 * Created by: Nicolas Pitre, April 2012 6 * Copyright: (C) 2012-2013 Linaro Limited 7 */ 8 9 #ifndef ASM_BL_SWITCHER_H 10 #define ASM_BL_SWITCHER_H 11 12 #include <linux/compiler.h> 13 #include <linux/types.h> 14 15 typedef void (*bL_switch_completion_handler)(v 16 17 int bL_switch_request_cb(unsigned int cpu, uns 18 bL_switch_completion_ 19 void *completer_cooki 20 static inline int bL_switch_request(unsigned i 21 { 22 return bL_switch_request_cb(cpu, new_c 23 } 24 25 /* 26 * Register here to be notified about runtime 27 * the switcher. 28 * 29 * The notifier chain is called with the switc 30 * the switcher will not be enabled or disable 31 * Callbacks must not call bL_switcher_{get,pu 32 */ 33 #define BL_NOTIFY_PRE_ENABLE 0 34 #define BL_NOTIFY_POST_ENABLE 1 35 #define BL_NOTIFY_PRE_DISABLE 2 36 #define BL_NOTIFY_POST_DISABLE 3 37 38 #ifdef CONFIG_BL_SWITCHER 39 40 int bL_switcher_register_notifier(struct notif 41 int bL_switcher_unregister_notifier(struct not 42 43 /* 44 * Use these functions to temporarily prevent 45 * the switcher. 46 * bL_switcher_get_enabled() returns true if t 47 * enabled. Each call to bL_switcher_get_enab 48 * by a call to bL_switcher_put_enabled(). Th 49 * recursive. 50 */ 51 bool bL_switcher_get_enabled(void); 52 void bL_switcher_put_enabled(void); 53 54 int bL_switcher_trace_trigger(void); 55 int bL_switcher_get_logical_index(u32 mpidr); 56 57 #else 58 static inline int bL_switcher_register_notifie 59 { 60 return 0; 61 } 62 63 static inline int bL_switcher_unregister_notif 64 { 65 return 0; 66 } 67 68 static inline bool bL_switcher_get_enabled(voi 69 static inline void bL_switcher_put_enabled(voi 70 static inline int bL_switcher_trace_trigger(vo 71 static inline int bL_switcher_get_logical_inde 72 #endif /* CONFIG_BL_SWITCHER */ 73 74 #endif 75
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.