提交 63a12d9d 编写于 作者: G Geert Uytterhoeven 提交者: Linus Torvalds

kernel/param: consolidate __{start,stop}___param[] in <linux/moduleparam.h>

Consolidate the various external const and non-const declarations of
__start___param[] and __stop___param in <linux/moduleparam.h>.  This
requires making a few struct kernel_param pointers in kernel/params.c
const.
Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
Acked-by: NRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 4c6327df
...@@ -78,6 +78,8 @@ struct kernel_param { ...@@ -78,6 +78,8 @@ struct kernel_param {
}; };
}; };
extern const struct kernel_param __start___param[], __stop___param[];
/* Special one for strings we want to copy into */ /* Special one for strings we want to copy into */
struct kparam_string { struct kparam_string {
unsigned int maxlen; unsigned int maxlen;
......
...@@ -501,7 +501,6 @@ asmlinkage __visible void __init start_kernel(void) ...@@ -501,7 +501,6 @@ asmlinkage __visible void __init start_kernel(void)
{ {
char *command_line; char *command_line;
char *after_dashes; char *after_dashes;
extern const struct kernel_param __start___param[], __stop___param[];
/* /*
* Need to run as early as possible, to initialize the * Need to run as early as possible, to initialize the
...@@ -844,7 +843,6 @@ static char *initcall_level_names[] __initdata = { ...@@ -844,7 +843,6 @@ static char *initcall_level_names[] __initdata = {
static void __init do_initcall_level(int level) static void __init do_initcall_level(int level)
{ {
extern const struct kernel_param __start___param[], __stop___param[];
initcall_t *fn; initcall_t *fn;
strcpy(initcall_command_line, saved_command_line); strcpy(initcall_command_line, saved_command_line);
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <linux/string.h> #include <linux/string.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -513,8 +514,6 @@ EXPORT_SYMBOL(param_ops_string); ...@@ -513,8 +514,6 @@ EXPORT_SYMBOL(param_ops_string);
#define to_module_attr(n) container_of(n, struct module_attribute, attr) #define to_module_attr(n) container_of(n, struct module_attribute, attr)
#define to_module_kobject(n) container_of(n, struct module_kobject, kobj) #define to_module_kobject(n) container_of(n, struct module_kobject, kobj)
extern struct kernel_param __start___param[], __stop___param[];
struct param_attribute struct param_attribute
{ {
struct module_attribute mattr; struct module_attribute mattr;
...@@ -774,7 +773,7 @@ static struct module_kobject * __init locate_module_kobject(const char *name) ...@@ -774,7 +773,7 @@ static struct module_kobject * __init locate_module_kobject(const char *name)
} }
static void __init kernel_add_sysfs_param(const char *name, static void __init kernel_add_sysfs_param(const char *name,
struct kernel_param *kparam, const struct kernel_param *kparam,
unsigned int name_skip) unsigned int name_skip)
{ {
struct module_kobject *mk; struct module_kobject *mk;
...@@ -809,7 +808,7 @@ static void __init kernel_add_sysfs_param(const char *name, ...@@ -809,7 +808,7 @@ static void __init kernel_add_sysfs_param(const char *name,
*/ */
static void __init param_sysfs_builtin(void) static void __init param_sysfs_builtin(void)
{ {
struct kernel_param *kp; const struct kernel_param *kp;
unsigned int name_len; unsigned int name_len;
char modname[MODULE_NAME_LEN]; char modname[MODULE_NAME_LEN];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册