內核操作 Linux2.6內核驅動移植參考 |
發布時間: 2012/8/26 18:27:33 |
隨著Linux2.6的發布,由于2.6內核做了教的改動,各個設備的驅動程序在不同程度上要進行改寫。為了方便各位Linux愛好者我把自己整理的這分文檔share出來。該文當列舉了2.6內核同以前版本的絕大多數變化,可惜的是由于時間和精力有限沒有詳細列出各個函數的用法。
特別聲明:該文檔中的內容來自http://lwn.net,該網也上也有各個函數的較為詳細的說明可供各位參考。 1、使用新的入口 必須包含 <linux/init.h> module_init(your_init_func); module_exit(your_exit_func); 老版本:int init_module(void); void cleanup_module(voi); 2.4中兩種都可以用,對如后面的入口函數不必要顯示包含任何頭文件。 2、GPL MODULE_LICENSE("Dual BSD/GPL"); 老版本:MODULE_LICENSE("GPL"); 3、模塊參數 必須顯式包含<linux/moduleparam.h> module_param(name, type, perm); module_param_named(name, value, type, perm); 參數定義 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配置,現在在代碼中就可以實現。 本文出自:億恩科技【www.endtimedelusion.com】 |