歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux驅動中的request_irq

Linux驅動中的request_irq

日期:2017/3/1 10:32:59   编辑:Linux編程

我是一個linux菜鳥,學習初期,寫此小博不為推廣知識,只為總結心得,不准確之處還請看官擔當。

驅動中的中斷機制大致如下:

1)首先要為設備向內核申請一個中斷號,設備向cpu發生中斷請求的本質,其實就是通過設備的中斷控制器(interrupt controller)向cpu發送中斷號,然後cpu根據中斷號在某個特定的“中斷處理函數隊列”找到對應的中斷程序。

驅動程序的probe函數中要申請中斷資源和中斷號,申請函數為:irq = platform_get_irq(pdev, 0)。在內核中有用於管理中斷的通用數據結構。

2)驅動程序要將申請到的中斷號和相應的中斷處理函數(interrupt handler)綁定,由此變引出了

request_inq(unsigned int irq, irqreturn_t handler, unsigned long irqflags, const char *devname, void dev_id)

Copyright © Linux教程網 All Rights Reserved