Fix C99 strict compatibility: don't use void * for function pointers
[lttng-ust.git] / include / lttng / tracepoint.h
index 3d54864fcf578ebc9fd50bfa69f2537334ef5dad..5bab476b86485a112c98a5ab433fa13ec88cca7d 100644 (file)
@@ -148,7 +148,7 @@ static inline void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_A
        if (caa_unlikely(!__tp_probe))                                                  \
                goto end;                                                               \
        do {                                                                            \
-               void *__tp_cb = __tp_probe->func;                                       \
+               void (*__tp_cb)(void) = __tp_probe->func;                                       \
                void *__tp_data = __tp_probe->data;                                     \
                                                                                        \
                URCU_FORCE_CAST(void (*)(_TP_ARGS_DATA_PROTO(__VA_ARGS__)), __tp_cb)    \
@@ -158,20 +158,21 @@ end:                                                                                      \
        tp_rcu_read_unlock_bp();                                                        \
 }                                                                                      \
 static inline void __tracepoint_register_##_provider##___##_name(char *name,           \
-               void *func, void *data)                                                 \
+               void (*func)(void), void *data)                                                 \
 {                                                                                      \
        __tracepoint_probe_register(name, func, data,                                   \
                __tracepoint_##_provider##___##_name.signature);                        \
 }                                                                                      \
 static inline void __tracepoint_unregister_##_provider##___##_name(char *name,         \
-               void *func, void *data)                                                 \
+               void (*func)(void), void *data)                                                 \
 {                                                                                      \
        __tracepoint_probe_unregister(name, func, data);                                \
 }
 
-extern int __tracepoint_probe_register(const char *name, void *func, void *data,
-               const char *signature);
-extern int __tracepoint_probe_unregister(const char *name, void *func, void *data);
+extern int __tracepoint_probe_register(const char *name, void (*func)(void),
+               void *data, const char *signature);
+extern int __tracepoint_probe_unregister(const char *name, void (*func)(void),
+               void *data);
 
 /*
  * tracepoint dynamic linkage handling (callbacks). Hidden visibility:
This page took 0.02383 seconds and 4 git commands to generate.