在加載一個.ko模塊時,也可以像應(yīng)用程序那樣,通過命令行傳入一些參數(shù),這個過程發(fā)生在調(diào)用模塊初始化函數(shù)之前。
內(nèi)核支持的參數(shù)類型有:bool
、invbool
(反轉(zhuǎn)值bool類型)、charp
(字符串指針)、short
、int
、long
、ushort
、uint
、ulong
。這些類型又可以復(fù)合成對應(yīng)的數(shù)組類型。
具體用法,在驅(qū)動中定義三個變量baudrate
、port
、name
:
static int baudrate = 9600;
static int port[4] = {0,1,2,3};
static char *name = "user";
module_param(baudrate, int, S_IRUGO);
module_param_array(port, int, NULL, S_IRUGO);
module_param(name, charp, S_IRUGO);
使用module_param
和module_param_array
宏聲明這些變量為模塊參數(shù)。說明:
module_param(name,type,perm)
module_param_array(name,type,nump,perm)
name
:變量的名字
type
:變量或數(shù)組元素的類型
nump
:數(shù)組元素個數(shù)的指針,可選
perm
:在sysfs文件系統(tǒng)中對應(yīng)文件的權(quán)限屬性。
權(quán)限的取值參考
頭文件。
修改這三個變量的值,即加載模塊時傳參:
insmod user.ko baudrate=115200 port=1,2,3,4 name="virtual-serial"
-
模塊
+關(guān)注
關(guān)注
7文章
2713瀏覽量
47485 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40293 -
驅(qū)動
+關(guān)注
關(guān)注
12文章
1840瀏覽量
85296 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209535
發(fā)布評論請先 登錄
相關(guān)推薦
評論