Linux 內核設備注冊


通常的注冊和注銷函數在:

 

int device_register(struct device *dev); void device_unregister(struct device *dev);

 

我們已經見到 lddbus 代碼如何注冊它的總線類型. 但是, 一個實際的總線是一個設備並 且必須單獨注冊. 為簡單起見, lddbus 模塊只支持一個單個虛擬總線, 因此這個驅動在 編譯時建立它的設備:

 

static void ldd_bus_release(struct device *dev)

{

printk(KERN_DEBUG "lddbus release\n");

 }

 

struct device ldd_bus = {

.bus_id = "ldd0",

.release = ldd_bus_release

 

};

 

這是頂級總線, 因此 parent 和 bus 成員留為 NULL. 我們有一個簡單的, no-op release 方法, 並且, 作為第一個(並且唯一)總線, 它的名子時 ldd0. 這個總線設備被 注冊, 使用:

 

ret = device_register(&ldd_bus); if (ret)

printk(KERN_NOTICE "Unable to register ldd0\n");

 

一旦調用完成, 新總線可在 sysfs 中 /sys/devices 下面見到. 任何加到這個總線的設 備接着在 /sys/devices/ldd0 下顯示.

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: