标签:
1、模块传递参数的概念
对于如何向模块传递参数,Linux kernel提供了一个简单的框架。其允许驱动程序声明参数,并且用户在系统启动或模块装载时为参数指定相应值,在驱动程序里,参数的用法如同全局变量。
2、代码如下
使用如下命令:
insmod param.ko int_var=1 str_var=hi,param int_array=128.256.512
输出如下:
关于函数module_param(name,type,perm)的第三个参数perm表示sysfs中建立的对应文件的权限,事实上当插入模块param.ko后,内核会在/sys/module/中建立param/目录。而由于模块param中通过module_param等方法声明参数int_var,str_var,和Int_array,所以内核还会在/sys/module/param/目录下产生parameters/目录,并生成对应的文件int_var,str_var,int_array,而module_param函数的第三个参数perm正是指定这3个文件的访问权限,通过写这3个文件可以修改对应的参数,而通过读他们则可以获得其当前值。如果perm值填写为0,内核将不会产生对应的参数文件。
标签:
原文地址:http://www.cnblogs.com/gary-guo/p/5521606.html