ar71xx: fix 'section type conflict' build error

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19340 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2010-01-26 09:57:29 +00:00
parent ebd3756c26
commit 270fce93d9
3 changed files with 39 additions and 21 deletions

View File

@ -88,7 +88,7 @@
+core_initcall(mips_machtype_init);
--- a/include/asm-mips/mips_machine.h
+++ b/include/asm-mips/mips_machine.h
@@ -13,24 +13,32 @@
@@ -13,25 +13,33 @@
#include <linux/init.h>
#include <linux/list.h>
@ -113,16 +113,22 @@
-#define MIPS_MACHINE(_type, _name, _setup) \
-static char machine_name_##_type[] __initdata = _name; \
-static struct mips_machine machine_##_type __initdata = \
+#define MIPS_MACHINE(_type, _id, _name, _setup) \
+static char machine_name_##_type[] __initconst \
+static const char machine_name_##_type[] __initconst \
+ __aligned(1) = _name; \
+static char machine_id_##_type[] __initconst \
+static const char machine_id_##_type[] __initconst \
+ __aligned(1) = _id; \
+static struct mips_machine machine_##_type __initconst = \
static struct mips_machine machine_##_type __initdata = \
{ \
.mach_type = _type, \
+ .mach_id = machine_id_##_type, \
.mach_name = machine_name_##_type, \
- .mach_name = machine_name_##_type, \
+ .mach_id = (char *) machine_id_##_type, \
+ .mach_name = (char *) machine_name_##_type, \
.mach_setup = _setup, \
}; \
\
@@ -44,4 +52,3 @@ static int __init register_machine_##_ty
pure_initcall(register_machine_##_type)
#endif /* __ASM_MIPS_MACHINE_H */
-

View File

@ -88,7 +88,7 @@
+core_initcall(mips_machtype_init);
--- a/include/asm-mips/mips_machine.h
+++ b/include/asm-mips/mips_machine.h
@@ -13,24 +13,32 @@
@@ -13,25 +13,33 @@
#include <linux/init.h>
#include <linux/list.h>
@ -113,16 +113,22 @@
-#define MIPS_MACHINE(_type, _name, _setup) \
-static char machine_name_##_type[] __initdata = _name; \
-static struct mips_machine machine_##_type __initdata = \
+#define MIPS_MACHINE(_type, _id, _name, _setup) \
+static char machine_name_##_type[] __initconst \
+static const char machine_name_##_type[] __initconst \
+ __aligned(1) = _name; \
+static char machine_id_##_type[] __initconst \
+static const char machine_id_##_type[] __initconst \
+ __aligned(1) = _id; \
+static struct mips_machine machine_##_type __initconst = \
static struct mips_machine machine_##_type __initdata = \
{ \
.mach_type = _type, \
+ .mach_id = machine_id_##_type, \
.mach_name = machine_name_##_type, \
- .mach_name = machine_name_##_type, \
+ .mach_id = (char *) machine_id_##_type, \
+ .mach_name = (char *) machine_name_##_type, \
.mach_setup = _setup, \
}; \
\
@@ -44,4 +52,3 @@ static int __init register_machine_##_ty
pure_initcall(register_machine_##_type)
#endif /* __ASM_MIPS_MACHINE_H */
-

View File

@ -88,7 +88,7 @@
+core_initcall(mips_machtype_init);
--- a/include/asm-mips/mips_machine.h
+++ b/include/asm-mips/mips_machine.h
@@ -13,24 +13,32 @@
@@ -13,25 +13,33 @@
#include <linux/init.h>
#include <linux/list.h>
@ -113,16 +113,22 @@
-#define MIPS_MACHINE(_type, _name, _setup) \
-static char machine_name_##_type[] __initdata = _name; \
-static struct mips_machine machine_##_type __initdata = \
+#define MIPS_MACHINE(_type, _id, _name, _setup) \
+static char machine_name_##_type[] __initconst \
+static const char machine_name_##_type[] __initconst \
+ __aligned(1) = _name; \
+static char machine_id_##_type[] __initconst \
+static const char machine_id_##_type[] __initconst \
+ __aligned(1) = _id; \
+static struct mips_machine machine_##_type __initconst = \
static struct mips_machine machine_##_type __initdata = \
{ \
.mach_type = _type, \
+ .mach_id = machine_id_##_type, \
.mach_name = machine_name_##_type, \
- .mach_name = machine_name_##_type, \
+ .mach_id = (char *) machine_id_##_type, \
+ .mach_name = (char *) machine_name_##_type, \
.mach_setup = _setup, \
}; \
\
@@ -44,4 +52,3 @@ static int __init register_machine_##_ty
pure_initcall(register_machine_##_type)
#endif /* __ASM_MIPS_MACHINE_H */
-