內(nèi)核操作 Linux2.6內(nèi)核驅(qū)動(dòng)移植參考 |
發(fā)布時(shí)間: 2012/8/26 18:27:33 |
隨著Linux2.6的發(fā)布,由于2.6內(nèi)核做了教的改動(dòng),各個(gè)設(shè)備的驅(qū)動(dòng)程序在不同程度上要進(jìn)行改寫。為了方便各位Linux愛好者我把自己整理的這分文檔share出來。該文當(dāng)列舉了2.6內(nèi)核同以前版本的絕大多數(shù)變化,可惜的是由于時(shí)間和精力有限沒有詳細(xì)列出各個(gè)函數(shù)的用法。
特別聲明:該文檔中的內(nèi)容來自http://lwn.net,該網(wǎng)也上也有各個(gè)函數(shù)的較為詳細(xì)的說明可供各位參考。 1、使用新的入口 必須包含 <linux/init.h> module_init(your_init_func); module_exit(your_exit_func); 老版本:int init_module(void); void cleanup_module(voi); 2.4中兩種都可以用,對(duì)如后面的入口函數(shù)不必要顯示包含任何頭文件。 2、GPL MODULE_LICENSE("Dual BSD/GPL"); 老版本:MODULE_LICENSE("GPL"); 3、模塊參數(shù) 必須顯式包含<linux/moduleparam.h> module_param(name, type, perm); module_param_named(name, value, type, perm); 參數(shù)定義 module_param_string(name, string, len, perm); module_param_array(name, type, num, perm); 老版本:MODULE_PARM(variable,type); MODULE_PARM_DESC(variable,type); 4、模塊別名 MODULE_ALIAS("alias-name"); 這是新增的,在老版本中需在/etc/modules.conf配置,現(xiàn)在在代碼中就可以實(shí)現(xiàn)。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |