*/irq_set_status_flags(DB1300_SD1_INSERT_INT, IRQ_NOAUTOEN);irq_set_status_flags(DB1300_SD1_EJECT_INT, IRQ_NOAUTOEN);irq_set_status_flags(DB1300_CF_INSERT_INT, IRQ_NOAUTOEN);irq_set_status_flags(DB1300_CF_EJECT_INT, IRQ_NOAUTOEN);/* * setup board */prom_get_ethernet_addr(&...
* calling 'irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY)'. This can * be used for devices which cannot disable the interrupt at the * device level under certain circumstances and have to use * disable_irq[_nosync] instead. */voidirq_disable(struct irq_desc *desc){ irq_state_set_disab...
mutex_unlock(&irq_domain_mutex); irq_clear_status_flags(virq, IRQ_NOREQUEST); ---该IRQ已经可以申请了,因此clear相关flag return 0; } 七、将HW interrupt ID转成IRQ number 创建了庞大的HW interrupt ID到IRQ number的mapping DB,最终还是要使用。具体的使用场景是在CPU相关的处理函数中,程序会读取硬件...
desc->chip = chip;*/set_irq_chip(irqno,&s3c_irq_eint0t4);//所以(irq_desc+16)->chip= &s3c_irq_eint0t4/*set_irq_handler 会调用__set_irq_handler 函数*/set_irq_handler(irqno, handle_edge_irq);//所以(irq_desc+16)-> handle_irq = handle_edge_irq set_irq_flags(irqno, IRQF_VA...
irq_clear_status_flags(virq, IRQ_NOREQUEST); ---该IRQ已经可以申请了,因此clear相关flag return 0; } 七、将HW interrupt ID转成IRQ number 创建了庞大的HW interrupt ID到IRQ number的mapping DB,最终还是要使用。具体的使用场景是在CPU相关的处理函数中,程序会读取硬件interrupt ID,并转成IRQ number,调用...
1 file changed, 1 insertion(+), 1 deletion(-) See include/linux/irq.h: * Bits which can be modified via irq_set/clear/modify_status_flags() [...] IRQ_LEVEL = (1 << 8), and include/linux/interrupt.h: #define IRQF_PROBE_SHARED 0x00000100 ...
irq_clear_status_flags(virq, IRQ_NOREQUEST); ---该IRQ已经可以申请了,因此clear相关flag return 0; } 七、将HW interrupt ID转成IRQ number 创建了庞大的HW interrupt ID到IRQ number的mapping DB,最终还是要使用。具体的使用场景是在CPU相关的处理函数中,程序会读取硬件interrupt ID,并转成IRQ number,调用...
irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY); return irq_set_vcpu_affinity(irq, &info); ret = irq_set_vcpu_affinity(irq, &info); if (ret) irq_clear_status_flags(irq, IRQ_DISABLE_UNLAZY); return ret; } int its_get_vlpi(int irq, struct its_vlpi_map *map) 0 comments on com...
188 irq_set_status_flags(uioinfo->irq, IRQ_DISABLE_UNLAZY); 189 } 190 } 191 UIO: generic irq handling for some uio platform devices 14 years ago 192 uiomem = &uioinfo->mem[0]; 193 194 for (i = 0; i < pdev->num_resources; ++i) { 195 struct resource...
set_irq_flags(irqno, IRQF_VALID); } 初始化了外部中断0后,当外部中断0触发,就会进入我们之前分析的asm_do_IRQ函数中,调用(irq_desc+16)-> handle_irq也就是handle_edge_irq函数。 我们来分析下handle_edge_irq函数是如何执行中断服务的: void fastcall handle_edge_irq(unsigned int irq, struct irq_desc...