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