Annoying warning message caused by double modifiers
Marek Vasut
marek.vasut at gmail.com
Sun Jun 13 11:07:04 EDT 2010
Dne Út 1. června 2010 21:06:15 Cheng-Han Tsai napsal(a):
> Dear all,
>
> Please help me solve this annoying warning messages.
> This warning message happens when I enable the TCM support in my arm
> platform
>
> drivers/input/keyboard/kpd.c:560: warning: passing argument 2 of
> 'request_irq' from incompatible pointer type
> include/linux/interrupt.h:78: note: expected 'irq_handler_t' but argument
> is of type 'irqreturn_t (*)(int, void *)'
>
> kpd.c
> static irqreturn_t __tcmfunc kpd_irq_handler(int irq, void *dev_id) {
> disable_irq(KP_IRQ_LINE);
> ...
> return IRQ_HANDLED;
> }
>
> Other definitions:
> typedef int irqreturn_t;
> #define __tcmfunc __attribute__((long_call)) __section(.tcm.text) noinline
>
> Compiler seems to think “irqreturn_t” and “irqreturn_t __tcmfunc” are
> different types.
> I try all different ways to add the __tcmfunc modifier, but the warning
> still shows up.
> Could you give some hint?
> Thank.
>
> Best Regards,
> Keene Tsai 蔡承翰
Hi, I don't see any such driver in the kernel tree, maybe you tell us the kernel
version? Or possibly share the driver ?
Cheers
More information about the linux-arm
mailing list