Lines Matching full:name

17  *   DECLARE_STATIC_CALL(name, func);
18 * DEFINE_STATIC_CALL(name, func);
19 * DEFINE_STATIC_CALL_NULL(name, typename);
20 * static_call(name)(args...);
21 * static_call_cond(name)(args...);
22 * static_call_update(name, func);
48 * Each static_call() site calls into a trampoline associated with the name.
50 * name will modify the trampoline's branch destination.
90 * static_call_cond(name)(arg1);
108 #define STATIC_CALL_TRAMP_ADDR(name) &STATIC_CALL_TRAMP(name) argument
115 #define __static_call(name) \ argument
117 __ADDRESSABLE(STATIC_CALL_KEY(name)); \
118 &STATIC_CALL_TRAMP(name); \
122 #define STATIC_CALL_TRAMP_ADDR(name) NULL argument
126 #define DECLARE_STATIC_CALL(name, func) \ argument
127 extern struct static_call_key STATIC_CALL_KEY(name); \
128 extern typeof(func) STATIC_CALL_TRAMP(name);
130 #define static_call_update(name, func) \ argument
132 BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
133 __static_call_update(&STATIC_CALL_KEY(name), \
134 STATIC_CALL_TRAMP_ADDR(name), func); \
161 #define DEFINE_STATIC_CALL(name, _func) \ argument
162 DECLARE_STATIC_CALL(name, _func); \
163 struct static_call_key STATIC_CALL_KEY(name) = { \
167 ARCH_DEFINE_STATIC_CALL_TRAMP(name, _func)
169 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
170 DECLARE_STATIC_CALL(name, _func); \
171 struct static_call_key STATIC_CALL_KEY(name) = { \
175 ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)
177 #define static_call(name) __static_call(name) argument
178 #define static_call_cond(name) (void)__static_call(name) argument
180 #define EXPORT_STATIC_CALL(name) \ argument
181 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
182 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
184 #define EXPORT_STATIC_CALL_GPL(name) \ argument
185 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
186 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
196 #define DEFINE_STATIC_CALL(name, _func) \ argument
197 DECLARE_STATIC_CALL(name, _func); \
198 struct static_call_key STATIC_CALL_KEY(name) = { \
201 ARCH_DEFINE_STATIC_CALL_TRAMP(name, _func)
203 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
204 DECLARE_STATIC_CALL(name, _func); \
205 struct static_call_key STATIC_CALL_KEY(name) = { \
208 ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)
210 #define static_call(name) __static_call(name) argument
211 #define static_call_cond(name) (void)__static_call(name) argument
227 #define EXPORT_STATIC_CALL(name) \ argument
228 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
229 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
231 #define EXPORT_STATIC_CALL_GPL(name) \ argument
232 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
233 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
243 #define DEFINE_STATIC_CALL(name, _func) \ argument
244 DECLARE_STATIC_CALL(name, _func); \
245 struct static_call_key STATIC_CALL_KEY(name) = { \
249 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
250 DECLARE_STATIC_CALL(name, _func); \
251 struct static_call_key STATIC_CALL_KEY(name) = { \
255 #define static_call(name) \ argument
256 ((typeof(STATIC_CALL_TRAMP(name))*)(STATIC_CALL_KEY(name).func))
272 #define __static_call_cond(name) \ argument
274 void *func = READ_ONCE(STATIC_CALL_KEY(name).func); \
277 (typeof(STATIC_CALL_TRAMP(name))*)func; \
280 #define static_call_cond(name) (void)__static_call_cond(name) argument
293 #define EXPORT_STATIC_CALL(name) EXPORT_SYMBOL(STATIC_CALL_KEY(name)) argument
294 #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)) argument