Message ID | 52245FBD.30202@asianux.com |
---|---|
State | New, archived |
Headers | show |
On 09/02/2013 05:51 PM, Chen Gang wrote: > phram_param_call() and ubi_mtd_param_parse() are used by > module_param_call(), usually, it need normal funcitons (no '__init'), > so recommend to remove '__init' from them. > If remove '__init' from them, also need remove many other '__init' or '__initdata' from another functions or variables. Is this warning harmless ? (it not harmless, it seems we'd better to keep them no touch) Thanks. > The related warnings: > > WARNING: drivers/mtd/devices/phram.o(.data+0xc): Section mismatch in reference from the variable ___param_ops_phram to the variable .init.text:_phram_param_call > The variable ___param_ops_phram references > the variable __init _phram_param_call > If the reference is valid then annotate the > variable with __init* or __refdata (see linux/init.h) or name the variable: > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console > > WARNING: drivers/mtd/ubi/ubi.o(.data+0x1a4): Section mismatch in reference from the variable ___param_ops_mtd to the variable .init.text:_ubi_mtd_param_parse > The variable ___param_ops_mtd references > the variable __init _ubi_mtd_param_parse > If the reference is valid then annotate the > variable with __init* or __refdata (see linux/init.h) or name the variable: > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console > > > Signed-off-by: Chen Gang <gang.chen@asianux.com> > --- > drivers/mtd/devices/phram.c | 2 +- > drivers/mtd/ubi/build.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/devices/phram.c b/drivers/mtd/devices/phram.c > index 67823de..bd7496a 100644 > --- a/drivers/mtd/devices/phram.c > +++ b/drivers/mtd/devices/phram.c > @@ -264,7 +264,7 @@ static int __init phram_setup(const char *val) > return ret; > } > > -static int __init phram_param_call(const char *val, struct kernel_param *kp) > +static int phram_param_call(const char *val, struct kernel_param *kp) > { > /* > * This function is always called before 'init_phram()', whether > diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c > index 315dcc6..c8b9493 100644 > --- a/drivers/mtd/ubi/build.c > +++ b/drivers/mtd/ubi/build.c > @@ -1382,7 +1382,7 @@ static int __init bytes_str_to_int(const char *str) > * This function returns zero in case of success and a negative error code in > * case of error. > */ > -static int __init ubi_mtd_param_parse(const char *val, struct kernel_param *kp) > +static int ubi_mtd_param_parse(const char *val, struct kernel_param *kp) > { > int i, len; > struct mtd_dev_param *p; >
diff --git a/drivers/mtd/devices/phram.c b/drivers/mtd/devices/phram.c index 67823de..bd7496a 100644 --- a/drivers/mtd/devices/phram.c +++ b/drivers/mtd/devices/phram.c @@ -264,7 +264,7 @@ static int __init phram_setup(const char *val) return ret; } -static int __init phram_param_call(const char *val, struct kernel_param *kp) +static int phram_param_call(const char *val, struct kernel_param *kp) { /* * This function is always called before 'init_phram()', whether diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index 315dcc6..c8b9493 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -1382,7 +1382,7 @@ static int __init bytes_str_to_int(const char *str) * This function returns zero in case of success and a negative error code in * case of error. */ -static int __init ubi_mtd_param_parse(const char *val, struct kernel_param *kp) +static int ubi_mtd_param_parse(const char *val, struct kernel_param *kp) { int i, len; struct mtd_dev_param *p;
phram_param_call() and ubi_mtd_param_parse() are used by module_param_call(), usually, it need normal funcitons (no '__init'), so recommend to remove '__init' from them. The related warnings: WARNING: drivers/mtd/devices/phram.o(.data+0xc): Section mismatch in reference from the variable ___param_ops_phram to the variable .init.text:_phram_param_call The variable ___param_ops_phram references the variable __init _phram_param_call If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console WARNING: drivers/mtd/ubi/ubi.o(.data+0x1a4): Section mismatch in reference from the variable ___param_ops_mtd to the variable .init.text:_ubi_mtd_param_parse The variable ___param_ops_mtd references the variable __init _ubi_mtd_param_parse If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console Signed-off-by: Chen Gang <gang.chen@asianux.com> --- drivers/mtd/devices/phram.c | 2 +- drivers/mtd/ubi/build.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)