定时器中断申请失败

obanaganastar 2014-08-15 12:44:19
自己写定时器pwm驱动,可是request_irq却失败了,timer0输出接口接到蜂鸣器上(蜂鸣器模块在已经去掉),我只想用来当做定时器使用。
我把主要逻辑贴出来。

pwm模块是内容:
1 中断号
#define PWM_IRQ 69


2 中断申请

这张反光了了,可以依稀看到lz;
第三个flag我有尝试用下降沿和共享,都是不行

3 查看板子的中断号


4 加载模块

想不清楚为什么会申请失败,也没有被其他占用。

arch/arm/mach-exynos/mach-tiny4412.c
#ifdef CONFIG_BUZZ02
&s3c_device_timer[0]
#endif
已经把判断去掉#ifdef 和 #endif
...全文
263 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Loyal0328 2015-09-11
  • 打赏
  • 举报
回复
这位大哥,我也遇到相同的问题,已经迷茫很久了,return返回值始终是-22,申请失败: ret = request_irq(TIMER_IRQ_ID,&TimerIrqHandler,0,DEVICE_NAME,NULL); 用的是友善之臂的4412demo,还望大侠协助一下!
obanaganastar 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 wenxy1 的回复:
直接贴代码吧,这样才好分析。
不用了,原来是板子的pwm已经被占用了,谢谢
Wenxy1 2014-08-23
  • 打赏
  • 举报
回复
直接贴代码吧,这样才好分析。
obanaganastar 2014-08-16
  • 打赏
  • 举报
回复
引用 1 楼 wenxy1 的回复:
把request_irq失败的错误码贴上。
恩,错误返回值我现在没有修改了,同时第三个参数改成如下 IRQF_TIMER | IRQF_TRIGGER_FALLING ret = request_irq(PWM_IRQ , pwm_service, IRQF_TIMER | IRQF_TRIGGER_FALLING, "pwm", vir_base); if (ret) { printk("request_irq %d is err\n", PWM_IRQ); goto err_irq; } 加载后返回: root@android:/system/drivers # insmod pwm.ko insmod: init_module 'pwm.ko' failed (Invalid argument) 以上,谢谢~
Wenxy1 2014-08-15
  • 打赏
  • 举报
回复
把request_irq失败的错误码贴上。

1,319

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧