X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=wrapper%2Firqdesc.c;h=018065640e22410e9390d53c46d19e51afaa6755;hb=0bbde2720b0d4af2a3d2596956262431df2a1e79;hp=a71981e74a4fdd74c4dc61b35d6563309df96eba;hpb=c337ddc219f608d4d35f461bdc9d2246324d6708;p=lttng-modules.git diff --git a/wrapper/irqdesc.c b/wrapper/irqdesc.c index a71981e7..01806564 100644 --- a/wrapper/irqdesc.c +++ b/wrapper/irqdesc.c @@ -1,20 +1,24 @@ -/* - * Copyright (C) 2011 Mathieu Desnoyers (mathieu.desnoyers@efficios.com) +/* SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1) + * + * wrapper/irqdesc.c * * wrapper around irq_to_desc. Using KALLSYMS to get its address when * available, else we need to have a kernel that exports this function to GPL - * modules. + * modules. This export was added to the 3.4 kernels. * - * Dual LGPL v2.1/GPL v2 license. + * Copyright (C) 2011-2012 Mathieu Desnoyers */ -#ifdef CONFIG_KALLSYMS +#include + +#if (defined(CONFIG_KALLSYMS) \ + && (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))) #include #include #include -#include "kallsyms.h" -#include "irqdesc.h" +#include +#include static struct irq_desc *(*irq_to_desc_sym)(unsigned int irq); @@ -22,11 +26,11 @@ struct irq_desc *(*irq_to_desc_sym)(unsigned int irq); struct irq_desc *wrapper_irq_to_desc(unsigned int irq) { if (!irq_to_desc_sym) - irq_to_desc_sym = (void *) kallsyms_lookup_funcptr("irq_to_desc"); + irq_to_desc_sym = (void *) kallsyms_lookup_funcptr("irq_to_desc"); if (irq_to_desc_sym) { return irq_to_desc_sym(irq); } else { - printk(KERN_WARNING "LTTng: irq_to_desc symbol lookup failed.\n"); + printk_once(KERN_WARNING "LTTng: irq_to_desc symbol lookup failed.\n"); return NULL; } }