kernel: backport the ubiblock patches from 3.14->3.10
[openwrt/staging/wigyori.git] / target / linux / generic / patches-3.10 / 042-UBI-block-Mark-init-only-symbol-as-__initdata.patch
1 From ca2b722d1ab5bc3ffc34b5995248968cd8a7cb6f Mon Sep 17 00:00:00 2001
2 From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
3 Date: Mon, 3 Mar 2014 13:42:38 -0300
4 Subject: [PATCH] UBI: block: Mark init-only symbol as __initdata
5
6 ubiblock_param_ops should be marked as __init as it's only used to set
7 a driver parameter on insertion time. This commit fixes the following:
8
9 WARNING: drivers/mtd/built-in.o(.text+0x653ac): Section mismatch in
10 reference from the variable ubiblock_param_ops to the function
11 .init.text:ubiblock_set_param()
12
13 The function ubiblock_param_ops() references the function __init
14 ubiblock_set_param(). This is often because ubiblock_param_ops lacks a
15 __init annotation or the annotation of ubiblock_set_param is wrong.
16
17 Given gcc errors if the struct is marked const __initdata, this commit
18 drops the const mark from it.
19
20 Reported-by: kbuild test robot <fengguang.wu@intel.com>
21 Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
22 Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
23 ---
24 drivers/mtd/ubi/block.c | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-)
26
27 diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
28 index 6402e41..cd6be98 100644
29 --- a/drivers/mtd/ubi/block.c
30 +++ b/drivers/mtd/ubi/block.c
31 @@ -156,7 +156,7 @@ static int __init ubiblock_set_param(const char *val,
32 return 0;
33 }
34
35 -static const struct kernel_param_ops ubiblock_param_ops = {
36 +static struct kernel_param_ops ubiblock_param_ops __initdata = {
37 .set = ubiblock_set_param,
38 };
39 module_param_cb(block, &ubiblock_param_ops, NULL, 0);
40 --
41 1.9.2
42