内核组件用__setup宏来注册关键字及相关联的处理函数,__setup宏在include/linux/init.h中定义,其原型如下:
__setup(string,function_handler)
#define __setup(str, fn) \
__setup_param(str, fn, fn, 0)
其中:string是关键字,function_handler是关联处理函数。__setup只是告诉内核在启动时输入串中含有关键字string时,内核要去执行function_handler。String必须以“=”符结束
如:
__setup("video=", video_setup);
以使parse_args更方便解析。紧随“=”后的任何文本都会作为输入传给 function_handler。
下面的例子来自于/drivers/video/fbmem.c,其中video_setup作为处理程序被注册给“video=”关键字。
本文介绍了Linux内核中使用__setup宏注册关键字及其处理函数的方法。通过实例展示了如何利用该宏进行内核启动参数的配置,并解释了参数的传递过程。
935

被折叠的 条评论
为什么被折叠?



