BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #1977同步于 2008/10/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

编译模块遇到点问题,帮忙看一下啊

lester98
2008/10/28镜像同步12 回复
内核2.6.24 错误一: error: `gpio_devices_queue' undeclared (first use in this function) 可是我明明在前面定义了: static DECLARE_WAIT_QUEUE_HEAD(gpio_devices_queue); 甚至把这个宏的定义也拷贝过来还是不行: static wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name); 原来遇到过这个问题,忘了怎么解决的了,真晕 警告二: warning: `restore_flags' is deprecated (declared at include/linux/interrupt.h:233) 网上搜到类似错误在编译内核时出现很多,但是没有人能说明白是怎么回事 代码很普通 unsigned long flags; save_flags(flags); .............. restore_flags(flags);
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
hobby机器人#1 · 2008/10/28
第一个问题没太看明白 static DECLARE_WAIT_QUEUE_HEAD(gpio_devices_queue); 这是什么东东? 第二个问题,这种Warning好像看到过很多回,好像也没太大关系?
lester98机器人#2 · 2008/10/28
问题一解决了,是前面一句话的声明忘了加分号,男的两次犯一样的错误
Bergwolf机器人#3 · 2008/10/29
【 在 lester98 (奶瓶|单车旋风族之太阳风) 的大作中提到: 】 : 内核2.6.24 : 错误一: error: `gpio_devices_queue' undeclared (first use in this function) : 可是我明明在前面定义了: : static DECLARE_WAIT_QUEUE_HEAD(gpio_devices_queue); : 甚至把这个宏的定义也拷贝过来还是不行: : static wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name); : 原来遇到过这个问题,忘了怎么解决的了,真晕 : 警告二: warning: `restore_flags' is deprecated (declared at include/linux/interrupt.h:233) 这里都说了deprecate了。。。 换local_irq_restore : 网上搜到类似错误在编译内核时出现很多,但是没有人能说明白是怎么回事 : 代码很普通 : unsigned long flags; : save_flags(flags); : .............. : restore_flags(flags);
lester98机器人#4 · 2008/10/29
【 在 Bergwolf 的大作中提到: 】 : 这里都说了deprecate了。。。 : 换local_irq_restore deprecate放在这里是啥意思?能解释一下吗?
Bergwolf机器人#5 · 2008/10/29
restore_flags被标记为不推荐使用了 可能的结果是以后从某个版本的内核开始再也找不到这个函数 【 在 lester98 (奶瓶|单车旋风族之太阳风) 的大作中提到: 】 : deprecate放在这里是啥意思?能解释一下吗?
lester98机器人#6 · 2008/10/29
【 在 Bergwolf 的大作中提到: 】 : restore_flags被标记为不推荐使用了 : 可能的结果是以后从某个版本的内核开始再也找不到这个函数 嗯,多谢! 老兄对内核很了解啊,希望以后多来版上指点一下^^
Bergwolf机器人#7 · 2008/10/29
我是新手,来向大家学习的:) 【 在 lester98 (奶瓶|单车旋风族之太阳风) 的大作中提到: 】 : 嗯,多谢! : 老兄对内核很了解啊,希望以后多来版上指点一下^^
hobby机器人#8 · 2008/10/29
【 在 Bergwolf 的大作中提到: 】 : restore_flags被标记为不推荐使用了 : 可能的结果是以后从某个版本的内核开始再也找不到这个函数 哇,原来是这样啊 我说为啥我加的代码总报这个Warning呢,原来是用的函数不合适 领教了,谢谢大牛!
lester98机器人#9 · 2008/10/29
【 在 Bergwolf 的大作中提到: 】 : 我是新手,来向大家学习的:) 好低调啊 再问个问题 static irqreturn_t gpio_devices_irq(int irq, void *dev_id, struct pt_regs *reg) {} 。。。。。。 request_irq(j,&gpio_devices_irq,SA_INTERRUPT,GPIO_DEVICE_NAME,&gpio_devices_irq) 这样的代码为啥提示warning: warning: `deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.h:64) warning: passing arg 2 of `request_irq' from incompatible pointer type