六、linux虚拟平台设备注册
一、使用到的設(shè)備結(jié)構(gòu)體 ? ? ? ?
注冊設(shè)備使用結(jié)構(gòu)體platform_device,該結(jié)構(gòu)體在頭文件“viminclude/linux/platform_device.h”中。頭文件中也有注冊設(shè)備和卸載設(shè)備的函數(shù)。
?二、設(shè)備注冊操作
????????將設(shè)備結(jié)構(gòu)體(platform_device)放到平臺文件(arch/arm/mach-exynos/mach-itop4412.c)中,會自動注冊設(shè)備,不用去調(diào)用注冊設(shè)備的函數(shù)。
? ? ? ? 我們仿照LED寫了一個HELLO。如下圖修改這兩個位置:
?
????????再結(jié)合我們前面在Kconfig文件中添加編譯HELLO設(shè)備的宏定義。這樣就完成一個設(shè)備的注冊。最后將內(nèi)核編譯一下。將新的鏡像zImage下載到開發(fā)板上。啟動開發(fā)板,輸入:?ls /sys/devices/platform/,就可以查看到新添加的設(shè)備。
?
????????最后,留下一個思考,如果我們一個開發(fā)板就寫一種平臺文件,那么在arch/arm/這個目錄下,是不是會產(chǎn)生無數(shù)各種描述平臺設(shè)備的文件。那么這樣子linux就會變得原來越臃腫。那么有沒有什么好的辦法解決這個問題呢?
總結(jié)
以上是生活随笔為你收集整理的六、linux虚拟平台设备注册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五、linux总线中设备和驱动注册流程详
- 下一篇: 七、linux驱动注册