Annoying warning message caused by double modifiers
Cheng-Han Tsai
chenghan.tsai at gmail.com
Mon Jun 14 15:00:36 EDT 2010
Hi, Vasut,
The kernel version is 2.6.29
Check here for irqreturn_t
http://lxr.linux.no/linux+v2.6.29/include/linux/irqreturn.h#L19
The TCM is backported from 2.6.32
http://lxr.linux.no/linux+v2.6.32/arch/arm/include/asm/tcm.h#L24
This driver is proprietary. Sorry I could not share with you.
However, the key seems not to be the driver, right?
Thanks.
Keene
On 2010/6/13 下午11:07, "Marek Vasut" <marek.vasut at gmail.com> wrote:
> 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