X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/22e56266bfd18e9caa5fe53705f9a17fc69aaf76..38d87099407d048ae758a8690f399ac0ae0ad102:/target/linux/ar71xx/patches-2.6.30/400-mips-multi-machine-update.patch?ds=inline diff --git a/target/linux/ar71xx/patches-2.6.30/400-mips-multi-machine-update.patch b/target/linux/ar71xx/patches-2.6.30/400-mips-multi-machine-update.patch index 62903c866..d63587901 100644 --- a/target/linux/ar71xx/patches-2.6.30/400-mips-multi-machine-update.patch +++ b/target/linux/ar71xx/patches-2.6.30/400-mips-multi-machine-update.patch @@ -15,7 +15,7 @@ char *mips_machine_name = "Unknown"; -@@ -55,20 +56,64 @@ void __init mips_machine_set_name(char * +@@ -55,20 +56,65 @@ void __init mips_machine_set_name(char * } } @@ -62,9 +62,10 @@ + + list_for_each(this, &mips_machines) { + mach = list_entry(this, struct mips_machine, list); -+ if (strncmp(mach->mach_id, mips_machid, -+ strlen(mips_machid)) == 0 -+ ) { ++ if (mach->mach_id == NULL) ++ continue; ++ ++ if (strcmp(mach->mach_id, mips_machid) == 0) { + mips_machtype = mach->mach_type; + return 0; + } @@ -78,16 +79,16 @@ + list_for_each(this, &mips_machines) { + mach = list_entry(this, struct mips_machine, list); + printk(KERN_WARNING "%32s %s\n", -+ mach->mach_id, mach->mach_name); ++ mach->mach_id ? mach->mach_id : "", mach->mach_name); + } + + return 0; +} + +core_initcall(mips_machtype_init); ---- a/include/asm-mips/mips_machine.h -+++ b/include/asm-mips/mips_machine.h -@@ -13,24 +13,32 @@ +--- a/arch/mips/include/asm/mips_machine.h ++++ b/arch/mips/include/asm/mips_machine.h +@@ -13,25 +13,33 @@ #include #include @@ -112,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 */ +-