#define EBUSY 16/* Device or resource busy */ 可知该中断已经被使用,执行 cat /proc/interrupts 果然发现OMAP_MMC_IRQ已经被使用了,而且OMAP_MMC_IRQ是专用irq,并不能使用其他irq, 所以解决的方向就是将使用OMAP_MMC_IRQ的其他地方去掉。 最终在board级初始化代码里见到了mmc2的注册,将其相关代码屏蔽掉即可。
6.分析request_irq和free_irq函数如何注册注销中断(详解)
定义一个file_operations结构体(指向Led_Open等底层函数)。使用函数regsiter_chrdev(major,”first_drv”...
request_irq()函数位于kernel/irq/manage.c中,其函数原型如下:参数说明:irq - 中断号,如外部中断0为16,定义在mach/irqs.h。handler - 要注册的中断服务函数,即(irq_desc + irq )->action->handler。irqflags - 触发中断的参数,如边沿触发,定义在linux/interrupt.h。devname - 中断程序的...
1.通用中断代码处理 通用中断处理示意图: 对于每一个外设的IRQ 都用struct irq_desc来描述...
一、请求中止request_irq()Linux中运用中止需求先进行请求,请求中止的API函数如下:int request_irq(...