Lines Matching full:name

17  *   DECLARE_STATIC_CALL(name, func);
18 * DEFINE_STATIC_CALL(name, func);
19 * DEFINE_STATIC_CALL_NULL(name, typename);
20 * DEFINE_STATIC_CALL_RET0(name, typename);
24 * static_call(name)(args...);
25 * static_call_cond(name)(args...);
26 * static_call_update(name, func);
27 * static_call_query(name);
55 * Each static_call() site calls into a trampoline associated with the name.
57 * name will modify the trampoline's branch destination.
97 * static_call_cond(name)(arg1);
104 * func = static_call_query(name);
146 #define STATIC_CALL_TRAMP_ADDR(name) &STATIC_CALL_TRAMP(name) argument
149 #define STATIC_CALL_TRAMP_ADDR(name) NULL argument
152 #define static_call_update(name, func) \ argument
154 typeof(&STATIC_CALL_TRAMP(name)) __F = (func); \
155 __static_call_update(&STATIC_CALL_KEY(name), \
156 STATIC_CALL_TRAMP_ADDR(name), __F); \
159 #define static_call_query(name) (READ_ONCE(STATIC_CALL_KEY(name).func)) argument
183 #define __DEFINE_STATIC_CALL(name, _func, _func_init) \ argument
184 DECLARE_STATIC_CALL(name, _func); \
185 struct static_call_key STATIC_CALL_KEY(name) = { \
189 ARCH_DEFINE_STATIC_CALL_TRAMP(name, _func_init)
191 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
192 DECLARE_STATIC_CALL(name, _func); \
193 struct static_call_key STATIC_CALL_KEY(name) = { \
197 ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)
199 #define static_call_cond(name) (void)__static_call(name) argument
201 #define EXPORT_STATIC_CALL(name) \ argument
202 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
203 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
204 #define EXPORT_STATIC_CALL_GPL(name) \ argument
205 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
206 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
209 #define EXPORT_STATIC_CALL_TRAMP(name) \ argument
210 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name)); \
211 ARCH_ADD_TRAMP_KEY(name)
212 #define EXPORT_STATIC_CALL_TRAMP_GPL(name) \ argument
213 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name)); \
214 ARCH_ADD_TRAMP_KEY(name)
220 #define __DEFINE_STATIC_CALL(name, _func, _func_init) \ argument
221 DECLARE_STATIC_CALL(name, _func); \
222 struct static_call_key STATIC_CALL_KEY(name) = { \
225 ARCH_DEFINE_STATIC_CALL_TRAMP(name, _func_init)
227 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
228 DECLARE_STATIC_CALL(name, _func); \
229 struct static_call_key STATIC_CALL_KEY(name) = { \
232 ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)
235 #define static_call_cond(name) (void)__static_call(name) argument
256 #define EXPORT_STATIC_CALL(name) \ argument
257 EXPORT_SYMBOL(STATIC_CALL_KEY(name)); \
258 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
259 #define EXPORT_STATIC_CALL_GPL(name) \ argument
260 EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)); \
261 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
264 #define EXPORT_STATIC_CALL_TRAMP(name) \ argument
265 EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
266 #define EXPORT_STATIC_CALL_TRAMP_GPL(name) \ argument
267 EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
278 #define __DEFINE_STATIC_CALL(name, _func, _func_init) \ argument
279 DECLARE_STATIC_CALL(name, _func); \
280 struct static_call_key STATIC_CALL_KEY(name) = { \
284 #define DEFINE_STATIC_CALL_NULL(name, _func) \ argument
285 DECLARE_STATIC_CALL(name, _func); \
286 struct static_call_key STATIC_CALL_KEY(name) = { \
304 #define __static_call_cond(name) \ argument
306 void *func = READ_ONCE(STATIC_CALL_KEY(name).func); \
309 (typeof(STATIC_CALL_TRAMP(name))*)func; \
312 #define static_call_cond(name) (void)__static_call_cond(name) argument
325 #define EXPORT_STATIC_CALL(name) EXPORT_SYMBOL(STATIC_CALL_KEY(name)) argument
326 #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name)) argument
330 #define DEFINE_STATIC_CALL(name, _func) \ argument
331 __DEFINE_STATIC_CALL(name, _func, _func)
333 #define DEFINE_STATIC_CALL_RET0(name, _func) \ argument
334 __DEFINE_STATIC_CALL(name, _func, __static_call_return0)