gpt4 book ai didi

c - request_irq 和 __interrupt 的区别

转载 作者:IT王子 更新时间:2023-10-29 01:17:37 26 4
gpt4 key购买 nike

据我所知,两者都用于注册中断处理程序。我在内核代码中看到了很多 request_irq 调用,但甚至没有看到一个 __interrupt 调用。 __interrupt 是从用户空间注册处理程序的某种方式吗?

最佳答案

request_irq 本质上是对 request_threaded_irq 的包装调用,它分配 IRQ 资源并启用 IRQ。这是从 kernel/irq/manage.c, Line #1239 中的注释 block 中解释的.

基本上,如果您需要为某种设备设置中断处理,您需要使用request_irq。确保您正在使用的任何子系统还没有为 request_irq 提供包装器。即,如果您正在处理设备驱动程序,请考虑使用 devm_* 调用系列来自动管理细节,例如释放未使用的变量等。请参阅 Line #29 处的 devm_request_threaded_irqkernel/irq/devres.c 中以获得更好的解释。它的等效调用(也是您最有可能使用的调用)是 devm_request_irq

关于c - request_irq 和 __interrupt 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6237266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com