我寫一個司機D1,將調用request_mem_region()和ioremap的(),和一個驅動器D2,將調用的ioremap()具有相同的地址。
在這種情況下會發生什麼?分割地圖調用兩臺Linux設備驅動程序
0
A
回答
0
這兩個驅動程序都能按預期工作,但建議在ioremap()之前使用request_mem_region()以避免其他驅動程序寫入該物理內存區域。
request_mem_region告訴你的驅動程序將使用此範圍內的I/O地址,這將妨礙其它驅動程序,使通過request_mem_region任何重疊調用同一區域的內核。
這種機制不會做任何類型的映射,它是一種純粹的保留機制,它依賴於所有內核設備驅動程序都必須很好的事實,並且它們必須調用request_mem_region,檢查返回值,並在出現問題時正常運行的錯誤。
因此,您的代碼在沒有request_mem_region()的情況下工作是完全合乎邏輯的。
相關問題
- 1. Linux設備驅動程序
- 2. 平臺設備/驅動程序vs i2c設備/驅動程序
- 3. Linux設備驅動程序,程序啓動的地方?
- 4. Linux i2c-設備驅動程序module_i2c_driver()
- 5. IOCTL Linux設備驅動程序
- 6. Linux網絡設備驅動程序
- 7. 設備驅動程序在linux中
- 8. 簡單的linux設備驅動程序打開調用崩潰
- 9. Linux的字符設備驅動程序:阻塞ioctl調用
- 10. GDB用於調試Linux設備驅動程序
- 11. 如何使用android/linux電源驅動程序註冊設備驅動程序?
- 12. 如何調試PCI設備和Linux驅動程序
- 13. 將虛擬PCI設備與linux設備驅動程序接口
- 14. 創建設備文件:Linux設備驅動程序
- 15. Linux設備驅動程序字符設備「子目錄」
- 16. Linux設備驅動程序主號碼分配
- 17. Linux的:如何USB驅動程序分配到設備
- 18. Linux設備驅動程序 - 線程化IRQ處理程序
- 19. 圖書館的設備驅動程序
- 20. Linux設備驅動程序的最簡單驅動程序新手
- 21. Linux設備驅動程序:將標誌傳遞給驅動程序
- 22. Wince設備驅動程序
- 23. Windows設備驅動程序
- 24. scull設備驅動程序
- 25. 關於Linux設備驅動
- 26. 在Linux設備驅動程序的簡單程序
- 27. 如何啓動linux系統和設備驅動程序編程
- 28. 程序如何查找和調用設備驅動程序?
- 29. 編寫設備驅動程序時,linux中__iomem有什麼用?
- 30. linux設備驅動程序庫不可用
*「在這種情況下會發生什麼?」* - 您將有意識地編寫不符合內核約定的驅動程序。否則系統可能會按預期運行。這是糟糕的代碼組織;代碼的作品,但那些不得不維護它的人受苦。 – sawdust