aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch')
-rw-r--r--target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch31
1 files changed, 17 insertions, 14 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch b/target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch
index 03c5b158f9..ca0c10b20d 100644
--- a/target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch
+++ b/target/linux/generic-2.6/patches-2.6.34/020-mips_multi_machine_support.patch
@@ -57,7 +57,7 @@
+#endif /* __ASM_MIPS_MACHINE_H */
--- /dev/null
+++ b/arch/mips/kernel/mips_machine.c
-@@ -0,0 +1,83 @@
+@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
+ *
@@ -109,29 +109,32 @@
+ continue;
+
+ if (strcmp(mach->mach_id, id) == 0) {
-+ mips_machine = mach;
-+ break;
++ mips_machtype = mach->mach_type;
++ return 0;
+ }
+ }
+
-+ if (!mips_machine) {
-+ pr_err("MIPS: no machine found for id '%s', supported machines:\n",
-+ id);
-+ pr_err("%32s %s\n", "id", "name");
-+ for_each_machine(mach)
-+ pr_err("%32s %s\n", mach->mach_id, mach->mach_name);
-+ return 1;
-+ }
-+
-+ mips_machtype = mips_machine->mach_type;
++ pr_err("MIPS: no machine found for id '%s', supported machines:\n", id);
++ pr_err("%-24s : %s\n", "id", "name");
++ for_each_machine(mach)
++ pr_err("%-24s : %s\n", mach->mach_id, mach->mach_name);
+
-+ return 0;
++ return 1;
+}
+
+__setup("machtype=", mips_machtype_setup);
+
+__init void mips_machine_setup(void)
+{
++ struct mips_machine *mach;
++
++ for_each_machine(mach) {
++ if (mips_machtype == mach->mach_type) {
++ mips_machine = mach;
++ break;
++ }
++ }
++
+ if (!mips_machine)
+ return;
+