linux驱动参数及参数的设置及修改
在linux中,每⼀个module(驱动)加载到kernel后,都会在/sys/module⽬录下⽣成以该模块命名的⼀个⽂件夹, 在⾥⾯包含了该模块的⼀些信息。这⾥分析⼀下parameters下的参数。parameters⽬录下⾯有该module定
义的参数,⽤于与⽤户层交互数据。以boardcom的wifi驱动为例,加载驱动后,
在/sys/module/wlan_bcmdhd/parameters⽬录下有下⾯参数:
-rw-r--r-- root root 40962015-01-06 09:00 clockoverride
-rw-r--r-- root root 40962015-01-06 09:00 dhd_console_ms
-rw-r--r-- root root 40962015-01-06 09:00 dhd_doflow
-rw-r--r-- root root 40962015-01-06 09:00 dhd_dpcpoll
-rw-r--r-- root root 40962015-01-06 09:00 dhd_msg_level
-rw-r--r-- root root 40962015-01-06 09:00 dhd_oob_gpio_num
-rw-r--r-- root root 40962015-01-06 09:00 disable_proptx
-rw-rw---- root root 40962015-01-06 08:59 firmware_path
-r--r--r-- root root 40962015-01-06 09:00 info_string
-rw-r--r-- root root 40962015-01-06 09:00 instance_base
-rw-rw---- root root 40962015-01-06 09:00 nvram_path
松树的外形特征-rw-r--r-- root root 40962015-01-06 09:00 op_mode
-rw------- root root 40962015-01-06 09:00 passive_channel_skip
这⾥⾯的参数,有些是只读的,有些是可读写的,这些参数是怎么与驱动代码联系到⼀起的?
就是依赖驱动⾥⾯module_param定义。
如上⾯的dhd_msg_level、firmware_path的定义,在驱动代码中如下:
module_param(dhd_msg_level, int, 0644);
module_param_string(firmware_path, firmware_path, MOD_PARAM_PATHLEN, 0660);
烧肉第一家同时我们还能在代码中见到module_param(iw_msg_level, int, 0);
最后⼀个参数为0的,
但在/sys/module/wlan_bcmdhd/parameters⽬录下却看不到iw_msg_level参数,
是因为module_param定义中最后⼀个参数为参数的操作权限,与linux的⽂件权限定义⼀样,文科生可以报考的专业
如果定义为0了,对⽤户层就是不可读写的,⽤户层也就不可见了。
对于可写的参数,驱动层修改参数后,⽤户层读到的数据也会跟着变了,
抗皱面霜排行榜⽽⽤户层修改参数后,驱动层读到的参数也会跟着变。
在职研究生招生条件骊山的由来也就是说驱动与⽤户层操作的是同⼀个变量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论