- 论坛徽章:
- 0
|
编译驱动的时候有以下错误:
/home/zilong/mini2440/driver/key/key.c:29: error: 'IRQ_TYPE_EDGE_FALLING' undeclared here (not in a function)
/home/zilong/mini2440/driver/key/key.c: In function '__exittest':
/home/zilong/mini2440/driver/key/key.c:132: warning: return from incompatible pointer type
make[2]: *** [/home/zilong/mini2440/driver/key/key.o] Error 1
make[1]: *** [_module_/home/zilong/mini2440/driver/key] Error 2
make[1]: Leaving directory `/home/zilong/mkkernel/linux-2.6.24'
make: *** [default] Error 2
看到'IRQ_TYPE_EDGE_FALLING' 我傻了眼了,我的程序中没有用到这个啊,只有IRQT_FALLING,
我在内核源代码目录下
/include/asm-arm: grep "IRQT_FALLING" * -R
[root@localhost asm-arm]# grep "IRQT_FALLING" * -R
arch-pnx4008/irqs.h:IRQT_HIGH, IRQT_HIGH, IRQT_FALLING, IRQT_HIGH, /* 36,37,38,39 */ \
arch-pxa/idp.h:#define TOUCH_PANEL_IRQ_EDGE IRQT_FALLING
irq.h:#define IRQT_FALLING (__IRQT_FALEDGE)
查看内容:
#define __IRQT_FALEDGE IRQ_TYPE_EDGE_FALLING
#define __IRQT_RISEDGE IRQ_TYPE_EDGE_RISING
#define __IRQT_LOWLVL IRQ_TYPE_LEVEL_LOW
#define __IRQT_HIGHLVL IRQ_TYPE_LEVEL_HIGH
#define IRQT_NOEDGE (0)
#define IRQT_RISING (__IRQT_RISEDGE)
#define IRQT_FALLING (__IRQT_FALEDGE)
原来碟影重重啊
在/include/linux/下:
[root@localhost linux]# grep "IRQ_TYPE_EDGE_FALLING" * -R
irq.h:#define IRQ_TYPE_EDGE_FALLING 0x00000002 /* Edge falling type */
irq.h:#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
得到答案了,原来的是我的程序没有包含 #include
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94311/showart_2026698.html |
|