summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-06-11 12:59:15 +0000
committerJohn Crispin <john@openwrt.org>2014-06-11 12:59:15 +0000
commitc8d472c37f07e3a0d7a5ba05ec3b7538a72ad81c (patch)
tree038631553628aa0beb963792b5dc13454bbead28 /target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch
parentacbcd5f5b5465b28f966abd7f8da98062ba09935 (diff)
downloadmaster-31e0f0ae-c8d472c37f07e3a0d7a5ba05ec3b7538a72ad81c.tar.gz
master-31e0f0ae-c8d472c37f07e3a0d7a5ba05ec3b7538a72ad81c.tar.bz2
master-31e0f0ae-c8d472c37f07e3a0d7a5ba05ec3b7538a72ad81c.zip
kernel: backport the ubiblock patches from 3.14->3.10
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41120
Diffstat (limited to 'target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch')
-rw-r--r--target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch b/target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch
new file mode 100644
index 0000000000..181cecb4af
--- /dev/null
+++ b/target/linux/generic/patches-3.10/042-UBI-block-Mark-init-only-symbol-as-__initdata.patch
@@ -0,0 +1,42 @@
+From ca2b722d1ab5bc3ffc34b5995248968cd8a7cb6f Mon Sep 17 00:00:00 2001
+From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+Date: Mon, 3 Mar 2014 13:42:38 -0300
+Subject: [PATCH] UBI: block: Mark init-only symbol as __initdata
+
+ubiblock_param_ops should be marked as __init as it's only used to set
+a driver parameter on insertion time. This commit fixes the following:
+
+ WARNING: drivers/mtd/built-in.o(.text+0x653ac): Section mismatch in
+ reference from the variable ubiblock_param_ops to the function
+ .init.text:ubiblock_set_param()
+
+ The function ubiblock_param_ops() references the function __init
+ ubiblock_set_param(). This is often because ubiblock_param_ops lacks a
+ __init annotation or the annotation of ubiblock_set_param is wrong.
+
+Given gcc errors if the struct is marked const __initdata, this commit
+drops the const mark from it.
+
+Reported-by: kbuild test robot <fengguang.wu@intel.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+---
+ drivers/mtd/ubi/block.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
+index 6402e41..cd6be98 100644
+--- a/drivers/mtd/ubi/block.c
++++ b/drivers/mtd/ubi/block.c
+@@ -156,7 +156,7 @@ static int __init ubiblock_set_param(const char *val,
+ return 0;
+ }
+
+-static const struct kernel_param_ops ubiblock_param_ops = {
++static struct kernel_param_ops ubiblock_param_ops __initdata = {
+ .set = ubiblock_set_param,
+ };
+ module_param_cb(block, &ubiblock_param_ops, NULL, 0);
+--
+1.9.2
+