ar71xx: fix 'section type conflict' build error

SVN-Revision: 19340
owl
Gabor Juhos 2010-01-26 09:57:29 +00:00
parent 056f25aedf
commit 3143e74705
3 changed files with 39 additions and 21 deletions

View File

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