Fix: adapt to kernel relative references
[lttng-modules.git] / wrapper / tracepoint.h
index 023086e42d59b4f82acfb6c7f5d77300a71edae9..a860cb82a888d24d10d9d2f9621e6d6a20c7f911 100644 (file)
@@ -82,11 +82,15 @@ int wrapper_tracepoint_module_notify(struct notifier_block *nb,
        if (tracepoint_module_notify_sym) {
                return tracepoint_module_notify_sym(nb, val, mod);
        } else {
-               printk(KERN_WARNING "LTTng: tracepoint_module_notify symbol lookup failed. It probably means you kernel don't need this work-around. Please consider upgrading LTTng modules to make this warning go away.\n");
+               printk_once(KERN_WARNING "LTTng: tracepoint_module_notify symbol lookup failed. It probably means you kernel don't need this work-around. Please consider upgrading LTTng modules to make this warning go away.\n");
                return -ENOSYS;
        }
 }
 
+#endif /* CONFIG_MODULE_SIG */
+
+#if defined(CONFIG_MODULE_SIG) && defined(MODULE)
+
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
 {
@@ -106,7 +110,7 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return ret;
 }
 
-#else /* CONFIG_MODULE_SIG */
+#else /* #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
 
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
@@ -114,6 +118,18 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return 0;
 }
 
-#endif /* #else CONFIG_MODULE_SIG */
+#endif /*#else #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
+static inline struct tracepoint *lttng_tracepoint_ptr_deref(tracepoint_ptr_t *p)
+{
+       return tracepoint_ptr_deref(p);
+}
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) */
+static inline struct tracepoint *lttng_tracepoint_ptr_deref(struct tracepoint **p)
+{
+       return *p;
+}
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) */
 
 #endif /* _LTTNG_WRAPPER_TRACEPOINT_H */
This page took 0.028346 seconds and 4 git commands to generate.