X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=wrapper%2Ftracepoint.h;h=208a8ab3ddbb11ceefe1b8e9010e96f42843b83e;hb=HEAD;hp=60b36856e724e9b04125e6ef0970ed17939c4a63;hpb=dd8d5afb3fabf853cb4c88c0a1a97f470090fe20;p=lttng-modules.git diff --git a/wrapper/tracepoint.h b/wrapper/tracepoint.h deleted file mode 100644 index 60b36856..00000000 --- a/wrapper/tracepoint.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _LTTNG_WRAPPER_TRACEPOINT_H -#define _LTTNG_WRAPPER_TRACEPOINT_H - -/* - * wrapper/tracepoint.h - * - * wrapper around DECLARE_EVENT_CLASS. - * - * Copyright (C) 2011-2012 Mathieu Desnoyers - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; only - * version 2.1 of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include -#include - -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)) - -#define DECLARE_EVENT_CLASS(name, proto, args, tstruct, assign, print) - -#endif - -#ifndef HAVE_KABI_2635_TRACEPOINT - -#define kabi_2635_tracepoint_probe_register tracepoint_probe_register -#define kabi_2635_tracepoint_probe_unregister tracepoint_probe_unregister -#define kabi_2635_tracepoint_probe_register_noupdate tracepoint_probe_register_noupdate -#define kabi_2635_tracepoint_probe_unregister_noupdate tracepoint_probe_unregister_noupdate - -#endif /* HAVE_KABI_2635_TRACEPOINT */ - -#ifdef CONFIG_MODULE_SIG - -#include -#include "kallsyms.h" - -static inline -int wrapper_tracepoint_module_notify(struct notifier_block *nb, - unsigned long val, struct module *mod) -{ - int (*tracepoint_module_notify_sym)(struct notifier_block *nb, - unsigned long val, struct module *mod); - - tracepoint_module_notify_sym = - (void *) kallsyms_lookup_funcptr("tracepoint_module_notify"); - if (tracepoint_module_notify_sym) { - return tracepoint_module_notify_sym(nb, val, mod); - } else { - printk(KERN_WARNING "LTTng: tracepoint_module_notify symbol lookup failed.\n"); - return -ENOSYS; - } -} - -static inline -int wrapper_lttng_fixup_sig(struct module *mod) -{ - int ret = 0; - - /* - * This is for module.c confusing force loaded modules with - * unsigned modules. - */ - if (!THIS_MODULE->sig_ok && - THIS_MODULE->taints & (1U << TAINT_FORCED_MODULE)) { - THIS_MODULE->taints &= ~(1U << TAINT_FORCED_MODULE); - ret = wrapper_tracepoint_module_notify(NULL, - MODULE_STATE_COMING, mod); - THIS_MODULE->taints |= (1U << TAINT_FORCED_MODULE); - } - return ret; -} - -#else /* CONFIG_MODULE_SIG */ - -static inline -int wrapper_lttng_fixup_sig(struct module *mod) -{ - return 0; -} - -#endif /* #else CONFIG_MODULE_SIG */ - -#endif /* _LTTNG_WRAPPER_TRACEPOINT_H */