在一个MFD
设备。 我想了解,我们如何在抵达irq base
。 它是一个随机数。?
请一些解释一个。
在一个MFD
设备。 我想了解,我们如何在抵达irq base
。 它是一个随机数。?
请一些解释一个。
基本上,首先需要试图注册该IRQ号的前ISR与实际的物理硬件中断特定的IRQ号相关联。 这通常是在Linux内核中使用完成irq_domain_add_linear()
在过去,IRQ号可以被选择,以便它们相匹配的硬件IRQ线到根中断控制器(即实际烧制中断线路到CPU组件) 现在这个数目只是一个数字 。
该
irq_alloc_desc*()
和irq_free_desc*()
API提供IRQ号的分配,但他们不提供控制器本地IRQ(hwirq)数量的反向映射到Linux IRQ号空间的任何支持。Linux内核的当前设计使用,其中每个单独的IRQ源被分配不同数目的单个大量空间。 这是简单,当只有一个中断控制器,但与多个中断控制器的系统内核必须确保每一个被分配的Linux IRQ号的非重叠分配。
在Linux内核的更多细节文档/ IRQ-DOMAIN.txt文件 。