免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2359 | 回复: 0
打印 上一主题 下一主题

调试key驱动时的错误'IRQ_TYPE_EDGE_FALLING' undeclared here [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-13 22:43 |只看该作者 |倒序浏览
编译驱动的时候有以下错误:
/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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP