module_param
是Linux內核中的一個宏,它允許你在模塊中定義和導出參數,這些參數可以在模塊加載時通過命令行傳遞給模塊。這在配置和管理內核模塊時非常有用。在Linux設備樹中,module_param
同樣可以用于定義和導出與設備樹相關的參數。
在設備樹中,module_param
的使用方式略有不同。設備樹中的參數通常以/parameters/
為前綴,并且使用dtb_param()
宏來定義。例如:
static int my_param = 0;
module_param(my_param, int, 0644);
device_param(my_param, int, 0644);
在這個例子中,my_param
是一個整數類型的參數,它的默認值是0,可以通過命令行傳遞給它,如insmod my_module.ko my_param=1
。
需要注意的是,設備樹中的參數是通過設備樹的屬性(properties)來訪問的,而不是通過命令行參數。因此,你需要在設備樹中為參數定義一個屬性,并將其類型設置為相應的類型(如int
、bool
等)。例如:
/ {
my_param {
type = "int";
value = 0;
};
};
在這個例子中,my_param
是一個整數類型的屬性,它的默認值是0。