Annoying warning message caused by double modifiers

Marek Vasut marek.vasut at gmail.com
Mon Jun 14 21:49:29 EDT 2010


Dne Po 14. června 2010 21:00:36 Cheng-Han Tsai napsal(a):
> Hi, Vasut,

My first name is the other one -- Marek -- but ok.
> 
> 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?

Why is it proprietary? Can't you open it? If we can't see the code, we can't 
help.
> 
> 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