[PATCH] drivers: mtd: remove '__init' from phram_param_call() and ubi_mtd_param_parse()

Chen Gang gang.chen at asianux.com
Mon Sep 2 06:30:52 EDT 2013


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 at 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;
> 


-- 
Chen Gang



More information about the linux-mtd mailing list