<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 14.4px; border-collapse: collapse; ">Dear all,<br><br>Please help me solve this annoying warning messages.<br>This warning message happens when I enable the TCM support in my arm platform<br>
<br>drivers/input/keyboard/kpd.c:560: warning: passing argument 2 of 'request_irq' from incompatible pointer type<br>include/linux/interrupt.h:78: note: expected 'irq_handler_t' but argument is of type 'irqreturn_t (*)(int, void *)'<br>
<br>kpd.c<br>static irqreturn_t __tcmfunc kpd_irq_handler(int irq, void *dev_id) {<br> disable_irq(KP_IRQ_LINE);<br> ...<br> return IRQ_HANDLED;<br>}<br><br>Other definitions:<br>typedef int irqreturn_t;<br>
#define __tcmfunc __attribute__((long_call)) __section(.tcm.text) noinline<br><br>Compiler seems to think “irqreturn_t” and “irqreturn_t __tcmfunc” are different types.<br>I try all different ways to add the __tcmfunc modifier, but the warning still shows up.<br>
Could you give some hint?<br>Thank.<br><br>Best Regards,<br>Keene Tsai 蔡承翰</span>