![Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容_第1頁](http://file4.renrendoc.com/view/d18508e0d4506817f55287d6db8183b6/d18508e0d4506817f55287d6db8183b61.gif)
![Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容_第2頁](http://file4.renrendoc.com/view/d18508e0d4506817f55287d6db8183b6/d18508e0d4506817f55287d6db8183b62.gif)
![Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容_第3頁](http://file4.renrendoc.com/view/d18508e0d4506817f55287d6db8183b6/d18508e0d4506817f55287d6db8183b63.gif)
![Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容_第4頁](http://file4.renrendoc.com/view/d18508e0d4506817f55287d6db8183b6/d18508e0d4506817f55287d6db8183b64.gif)
![Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容_第5頁](http://file4.renrendoc.com/view/d18508e0d4506817f55287d6db8183b6/d18508e0d4506817f55287d6db8183b65.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第第頁Linux內(nèi)核模塊解析設(shè)備樹內(nèi)容
1.前言設(shè)備樹中添加設(shè)備節(jié)點后,驅(qū)動可以根據(jù)節(jié)點中的屬性進行一些設(shè)置。那么,驅(qū)動如何獲取設(shè)備節(jié)點的屬性信息呢?
答案是通過of_xxx()函數(shù)。
這些函數(shù)在/include/(linux)/of.h中聲明,/drivers/of/property.c中定義。
簡單說明:
of_property_re(ad)_bool()查詢某個屬性是否存在;
of_property_read_xx()讀取單個值;
of_property_read_xx_array()讀取一個數(shù)組;
of_property_read_xx_index()按照索引讀取數(shù)組中的某一個;
of_property_read_variable_xx_array()讀取數(shù)組中的幾個;
下面的例子會展示上面函數(shù)的用法。
2.操練一把2.1新建module
我基于這里的步驟在petalinux工程中創(chuàng)建hkm-devtree模塊。
設(shè)備樹中的節(jié)點:
/{hkm-devtree{compa(ti)ble="(sd)c,hkm";hkm,name="hkm-device-tree";uint-value=;uint-array=;dev-enable;};};hkm-devtree.c:
#include#include#include#include#defineDRIVER_NAME("hkm-device-tree")stat(ic)inthkm_devtree_probe(structplatf(or)m_device*pdev){structdevice_node*node=pdev->dev.of_node;u32i=0;s32ret=0;u32value=0;u32arr[4]={0};constchar*name=NULL;printk(KERN_DEBUG"callhkmdevicetreedriverprobefunctionn");if(NULL!=node){ret=of_property_read_string(node,"hkm,name",if(0==ret){printk(KERN_DEBUG"hkmnameis'%s'indevicetreen",name);}ret=of_property_read_u32(node,"uint-value",if(0==ret){printk(KERN_DEBUG"valueis%uindevicetreen",value);}ret=of_property_read_bool(node,"dev-enable");if(true==ret){printk(KERN_DEBUG"deviceisenablen");}ret=of_property_read_u32_array(node,"uint-array",arr,4);if(0==ret){printk(KERN_DEBUG"valuearray,0x%x,0x%x,0x%x,0x%xn",arr[0],arr[1],arr[2],arr[3]);}ret=of_property_read_u32_index(node,"uint-array",3,if(0==ret){printk(KERN_DEBUG"index3i(te)mofarray:0x%xn",value);}(mems)et(arr,0,sizeof(arr));ret=of_property_read_variable_u32_array(node,"uint-array",arr,2,0);if(2==ret){printk(KERN_DEBUG"read2itemofarray:0x%x,0x%xn",arr[0],arr[1]);}}return0;}staticinthkm_devtree_remove(structplatform_device*pdev){printk(KERN_DEBUG"callhkmdevicetreedriverremovefunctionn");return0;}#ifdefCONFIG_OFstaticstructof_device_idhkm_devtree_of_match_table[]={{.compatible="sdc,hkm"},{/*endoflist*/},};MODULE_DEVICE_TABLE(of,hkm_devtree_of_match_table);#else#definehkm_devtree_of_match_table#endifstaticstructplatform_driverhkm_devtree_driver={.driver={.name=DRIVER_NAME,.owner=THIS_MODULE,.of_match_table=hkm_devtree_of_match_table,},.probe=hkm_devtree_probe,.remove=hkm_devtree_remove,};staticint__inithkm_init(void){printk(KERN_DEBUG"hello,sdcn");returnplatform_driver_register(}staticvoid__exithkm_exit(void){printk(KERN_DEBUG"bye,sdcn");}module_init(hkm_init);module_exit(hkm_exit);MODULE_DESCRIPTION("KMinkernelsource");MODULE_AUTHOR("sdc");MODULE_LICENSE("GPL");工程倉庫:/sdc-coding/devi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年芳香族聚氨酯水分散液項目可行性研究報告
- 2025至2031年中國胸腺五肽行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國直滑式導(dǎo)電塑料電位器行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國烘烤紙盒行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國智能數(shù)字兆歐表行業(yè)投資前景及策略咨詢研究報告
- 2025年家用米糊豆?jié){機項目可行性研究報告
- 2025至2031年中國冷凍芹菜水餃行業(yè)投資前景及策略咨詢研究報告
- 2025年全自動腳輪旋鉚機項目可行性研究報告
- 2025年三頭插銷項目可行性研究報告
- 2025至2030年預(yù)處理飼料硫酸亞鐵項目投資價值分析報告
- AQ/T 6111-2023 個體防護裝備安全管理規(guī)范(正式版)
- (2020版)煤礦安全生產(chǎn)標準化管理體系評分表
- 2023年湖北省襄陽市中考地理真題(含解析)
- JBT 6697-2023 農(nóng)林拖拉機和機械 電氣設(shè)備 基本技術(shù)規(guī)范 (正式版)
- 2024年注冊安全工程師考試題庫及參考答案【完整版】
- 府谷縣飛馬梁煤礦礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案
- 2024年中國科學(xué)技術(shù)大學(xué)少年創(chuàng)新班數(shù)學(xué)試題真題(答案詳解)
- 衛(wèi)生院藥房工作計劃
- 國家基本基藥培訓(xùn)課件
- 部編版小學(xué)語文一年級下冊第一單元教材解讀分析
- 2024年新疆維吾爾自治區(qū)成考(專升本)大學(xué)政治考試真題含解析
評論
0/150
提交評論