LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1231|回复: 1

问题:有关申请irq问题

[复制链接]
发表于 2008-5-9 21:42:53 | 显示全部楼层 |阅读模式
编译驱动遇到的问题
在代码中有包含以下头文件:
#include <asm/irq.h>
#include <linux/interrupt.h>
#include <asm-arm/arch-s3c2410/irqs.h>
#include <linux/irq.h>


相关代码:  
set_external_irq(HPI_INT,EXT_LOWLEVEL,GPIO_PULLUP_DIS);
if(0!=request_irq(HPI_INT,&hpi_interrupt,SA_SHIRQ,"hpi",hpi_dev)){
        printk("hpi request_irq failed...");
        goto fail_request_irq;

为什么编译的时候还会出现如下问题:
337: error: implicit declaration of function ‘set_external_irq’
337: error: ‘EXT_LOWLEVEL’ undeclared (first use in this function)
337: error: (Each undeclared identifier is reported only once
337: error: for each function it appears in.)
337: error: ‘GPIO_PULLUP_DIS’ undeclared (first use in this function)
338: error: ‘SA_SHIRQ’ undeclared (first use in this function)
338: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type


还有
unsigned char a1,a2;
outb(a1,hpi_dev->hpi_vbase+0x1c);
outb(a2,hpi_dev->hpi_vbase+0x1e);

会出现如下警告:
warning: passing argument 2 of ‘outb’ makes integer from pointer without a cast

希望各位大牛能帮帮忙哈,感激不尽
发表于 2008-5-27 20:50:04 | 显示全部楼层
编译警告是因为你没有包含相应的头文件。

outb(a1,hpi_dev->hpi_vbase+0x1c);
其中hpi_dev->hpi_vbase是不是一个指针,指针直接和整数运算当然要出现警告了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表