make mips_machine stuff available for other MIPS targets
authorGabor Juhos <juhosg@openwrt.org>
Tue, 2 Dec 2008 21:54:53 +0000 (21:54 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Tue, 2 Dec 2008 21:54:53 +0000 (21:54 +0000)
SVN-Revision: 13492

17 files changed:
target/linux/adm5120/router_be/config-2.6.26
target/linux/adm5120/router_be/config-2.6.27
target/linux/adm5120/router_le/config-2.6.26
target/linux/adm5120/router_le/config-2.6.27
target/linux/ar7/config-2.6.26
target/linux/ar71xx/Makefile
target/linux/ar71xx/patches-2.6.26/900-mips_multi_machine_support.patch [deleted file]
target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch [deleted file]
target/linux/atheros/config-2.6.26
target/linux/atheros/config-2.6.27
target/linux/au1000/config-2.6.27
target/linux/brcm63xx/config-2.6.27
target/linux/generic-2.6/patches-2.6.26/020-mips_multi_machine_support.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.27/020-mips_multi_machine_support.patch [new file with mode: 0644]
target/linux/ifxmips/config-2.6.26
target/linux/rb532/config-2.6.27
target/linux/sibyte/config-default

index c34f80e61c3a476b790efc75f32a4f06aad23e87..35cbc9170c19865c615a55f3fdfc785e2fcd07ad 100644 (file)
@@ -138,6 +138,7 @@ CONFIG_MIPS=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 6fb638a5a01bd759c20b5d2444f8b501a07c7ae4..eae094f6e5752558a23c792a1055e1db6ac2d889 100644 (file)
@@ -144,6 +144,7 @@ CONFIG_MII=m
 CONFIG_MIPS=y
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 3b92242969c7567d235c5487a984b2aadfe8bf4a..362f591d1d756b4261c35587a595e4e436e71eca 100644 (file)
@@ -161,6 +161,7 @@ CONFIG_MIPS=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index ba2de8062f8402d3f26d6c4ccc427879500c621c..5ef89cad6c0c73dc465c18b1d53e076ab86e8c95 100644 (file)
@@ -167,6 +167,7 @@ CONFIG_MII=m
 CONFIG_MIPS=y
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 4450966cdb6a495bb4674b4e599ad84928ba58bc..93c6dd6c2132cb244a3658f6baea76c97639cf53 100644 (file)
@@ -98,6 +98,7 @@ CONFIG_MIPS=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index fe32e86e4453cd3489a7bf3e18cbf1709f499fbb..9459c3d17a79b1e5c4a0d20992015a593bfec1d7 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=ar71xx
 BOARDNAME:=Atheros AR71xx
 FEATURES:=squashfs tgz
 
-LINUX_VERSION:=2.6.26.8
+LINUX_VERSION:=2.6.27.7
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/ar71xx/patches-2.6.26/900-mips_multi_machine_support.patch b/target/linux/ar71xx/patches-2.6.26/900-mips_multi_machine_support.patch
deleted file mode 100644 (file)
index 331ae4c..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
---- /dev/null
-+++ b/include/asm-mips/mips_machine.h
-@@ -0,0 +1,47 @@
-+/*
-+ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ *
-+ */
-+
-+#ifndef __ASM_MIPS_MACHINE_H
-+#define __ASM_MIPS_MACHINE_H
-+
-+#include <linux/init.h>
-+#include <linux/list.h>
-+
-+#define MIPS_MACHINE_NAME_LEN 64
-+
-+struct mips_machine {
-+      unsigned long           mach_type;
-+      void                    (*mach_setup)(void);
-+      unsigned char           mach_name[MIPS_MACHINE_NAME_LEN];
-+      struct list_head        list;
-+};
-+
-+void mips_machine_register(struct mips_machine *) __init;
-+void mips_machine_setup(unsigned long machtype) __init;
-+
-+extern unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN];
-+
-+#define MIPS_MACHINE(_type, _name, _setup)                    \
-+static struct mips_machine machine_##_type __initdata =               \
-+{                                                             \
-+      .mach_type      = _type,                                \
-+      .mach_name      = _name,                                \
-+      .mach_setup     = _setup,                               \
-+};                                                            \
-+                                                              \
-+static int __init register_machine_##_type(void)              \
-+{                                                             \
-+      mips_machine_register(&machine_##_type);                \
-+      return 0;                                               \
-+}                                                             \
-+                                                              \
-+pure_initcall(register_machine_##_type)
-+
-+#endif /* __ASM_MIPS_MACHINE_H */
-+
---- /dev/null
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -0,0 +1,58 @@
-+/*
-+ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <asm/mips_machine.h>
-+#include <asm/bootinfo.h>
-+
-+static struct list_head mips_machines __initdata =
-+              LIST_HEAD_INIT(mips_machines);
-+
-+unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN] = "Unknown";
-+
-+static struct mips_machine * __init mips_machine_find(unsigned long machtype)
-+{
-+      struct list_head *this;
-+
-+      list_for_each(this, &mips_machines) {
-+              struct mips_machine *mach;
-+
-+              mach = list_entry(this, struct mips_machine, list);
-+              if (mach->mach_type == machtype)
-+                      return mach;
-+      }
-+
-+      return NULL;
-+}
-+
-+void __init mips_machine_register(struct mips_machine *mach)
-+{
-+      list_add_tail(&mach->list, &mips_machines);
-+}
-+
-+void __init mips_machine_setup(unsigned long machtype)
-+{
-+      struct mips_machine *mach;
-+
-+      mach = mips_machine_find(machtype);
-+      if (!mach) {
-+              printk(KERN_ALERT "MIPS: no machine registered for "
-+                      "machtype %lu\n", machtype);
-+              return;
-+      }
-+
-+      if (mach->mach_name[0])
-+              strncpy(mips_machine_name, mach->mach_name,
-+                      MIPS_MACHINE_NAME_LEN);
-+
-+      printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
-+
-+      if (mach->mach_setup)
-+              mach->mach_setup();
-+}
-+
---- a/arch/mips/kernel/Makefile
-+++ b/arch/mips/kernel/Makefile
-@@ -86,6 +86,7 @@ obj-$(CONFIG_GPIO_TXX9)              += gpio_txx9.o
- obj-$(CONFIG_KEXEC)           += machine_kexec.o relocate_kernel.o
- obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
-+obj-$(CONFIG_MIPS_MACHINE)    += mips_machine.o
- CFLAGS_cpu-bugs64.o   = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -880,6 +880,9 @@ config MYLOADER
- config SYNC_R4K
-       bool
-+config MIPS_MACHINE
-+      def_bool n
-+
- config NO_IOPORT
-       def_bool n
diff --git a/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch b/target/linux/ar71xx/patches-2.6.27/900-mips_multi_machine_support.patch
deleted file mode 100644 (file)
index e1fc84f..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
---- /dev/null
-+++ b/include/asm-mips/mips_machine.h
-@@ -0,0 +1,47 @@
-+/*
-+ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ *
-+ */
-+
-+#ifndef __ASM_MIPS_MACHINE_H
-+#define __ASM_MIPS_MACHINE_H
-+
-+#include <linux/init.h>
-+#include <linux/list.h>
-+
-+#define MIPS_MACHINE_NAME_LEN 64
-+
-+struct mips_machine {
-+      unsigned long           mach_type;
-+      void                    (*mach_setup)(void);
-+      unsigned char           mach_name[MIPS_MACHINE_NAME_LEN];
-+      struct list_head        list;
-+};
-+
-+void mips_machine_register(struct mips_machine *) __init;
-+void mips_machine_setup(unsigned long machtype) __init;
-+
-+extern unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN];
-+
-+#define MIPS_MACHINE(_type, _name, _setup)                    \
-+static struct mips_machine machine_##_type __initdata =               \
-+{                                                             \
-+      .mach_type      = _type,                                \
-+      .mach_name      = _name,                                \
-+      .mach_setup     = _setup,                               \
-+};                                                            \
-+                                                              \
-+static int __init register_machine_##_type(void)              \
-+{                                                             \
-+      mips_machine_register(&machine_##_type);                \
-+      return 0;                                               \
-+}                                                             \
-+                                                              \
-+pure_initcall(register_machine_##_type)
-+
-+#endif /* __ASM_MIPS_MACHINE_H */
-+
---- /dev/null
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -0,0 +1,58 @@
-+/*
-+ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <asm/mips_machine.h>
-+#include <asm/bootinfo.h>
-+
-+static struct list_head mips_machines __initdata =
-+              LIST_HEAD_INIT(mips_machines);
-+
-+unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN] = "Unknown";
-+
-+static struct mips_machine * __init mips_machine_find(unsigned long machtype)
-+{
-+      struct list_head *this;
-+
-+      list_for_each(this, &mips_machines) {
-+              struct mips_machine *mach;
-+
-+              mach = list_entry(this, struct mips_machine, list);
-+              if (mach->mach_type == machtype)
-+                      return mach;
-+      }
-+
-+      return NULL;
-+}
-+
-+void __init mips_machine_register(struct mips_machine *mach)
-+{
-+      list_add_tail(&mach->list, &mips_machines);
-+}
-+
-+void __init mips_machine_setup(unsigned long machtype)
-+{
-+      struct mips_machine *mach;
-+
-+      mach = mips_machine_find(machtype);
-+      if (!mach) {
-+              printk(KERN_ALERT "MIPS: no machine registered for "
-+                      "machtype %lu\n", machtype);
-+              return;
-+      }
-+
-+      if (mach->mach_name[0])
-+              strncpy(mips_machine_name, mach->mach_name,
-+                      MIPS_MACHINE_NAME_LEN);
-+
-+      printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
-+
-+      if (mach->mach_setup)
-+              mach->mach_setup();
-+}
-+
---- a/arch/mips/kernel/Makefile
-+++ b/arch/mips/kernel/Makefile
-@@ -86,6 +86,7 @@ obj-$(CONFIG_GPIO_TXX9)              += gpio_txx9.o
- obj-$(CONFIG_KEXEC)           += machine_kexec.o relocate_kernel.o
- obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
-+obj-$(CONFIG_MIPS_MACHINE)    += mips_machine.o
- CFLAGS_cpu-bugs64.o   = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -858,6 +858,9 @@ config MIPS_DISABLE_OBSOLETE_IDE
- config SYNC_R4K
-       bool
-+config MIPS_MACHINE
-+      def_bool n
-+
- config NO_IOPORT
-       def_bool n
index db942aa4953cbaef2940c47519584986850acc76..ecb9a991d1c624a58a6ae55427c6ee8d98f41e6d 100644 (file)
@@ -104,6 +104,7 @@ CONFIG_MIPS=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 7bee8c1739aa9f8cee159e5bd77f64552b1f27af..435b1ca8482b51e0a05b318c2c0d92dfdc5a1418 100644 (file)
@@ -108,6 +108,7 @@ CONFIG_LEDS_GPIO=y
 CONFIG_MIPS=y
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 2a4b82f9b603fae9e7f3209606ea467a422296f3..2a3e46caabf1f309a980aca81fd6297ea905afcc 100644 (file)
@@ -138,6 +138,7 @@ CONFIG_MIPS_AU1X00_ENET=y
 # CONFIG_MIPS_DB1500 is not set
 # CONFIG_MIPS_DB1550 is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 # CONFIG_MIPS_MIRAGE is not set
 CONFIG_MIPS_MTX1=y
index b54778bdd27ca5b6f5034496435a181bc53f7e8f..5c1fcdc12bc0055fb007fb5f5c177f1732e5c9c5 100644 (file)
@@ -158,6 +158,7 @@ CONFIG_MARVELL_PHY=m
 CONFIG_MIPS=y
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
diff --git a/target/linux/generic-2.6/patches-2.6.26/020-mips_multi_machine_support.patch b/target/linux/generic-2.6/patches-2.6.26/020-mips_multi_machine_support.patch
new file mode 100644 (file)
index 0000000..e1fc84f
--- /dev/null
@@ -0,0 +1,133 @@
+--- /dev/null
++++ b/include/asm-mips/mips_machine.h
+@@ -0,0 +1,47 @@
++/*
++ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ *
++ */
++
++#ifndef __ASM_MIPS_MACHINE_H
++#define __ASM_MIPS_MACHINE_H
++
++#include <linux/init.h>
++#include <linux/list.h>
++
++#define MIPS_MACHINE_NAME_LEN 64
++
++struct mips_machine {
++      unsigned long           mach_type;
++      void                    (*mach_setup)(void);
++      unsigned char           mach_name[MIPS_MACHINE_NAME_LEN];
++      struct list_head        list;
++};
++
++void mips_machine_register(struct mips_machine *) __init;
++void mips_machine_setup(unsigned long machtype) __init;
++
++extern unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN];
++
++#define MIPS_MACHINE(_type, _name, _setup)                    \
++static struct mips_machine machine_##_type __initdata =               \
++{                                                             \
++      .mach_type      = _type,                                \
++      .mach_name      = _name,                                \
++      .mach_setup     = _setup,                               \
++};                                                            \
++                                                              \
++static int __init register_machine_##_type(void)              \
++{                                                             \
++      mips_machine_register(&machine_##_type);                \
++      return 0;                                               \
++}                                                             \
++                                                              \
++pure_initcall(register_machine_##_type)
++
++#endif /* __ASM_MIPS_MACHINE_H */
++
+--- /dev/null
++++ b/arch/mips/kernel/mips_machine.c
+@@ -0,0 +1,58 @@
++/*
++ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ *
++ */
++
++#include <asm/mips_machine.h>
++#include <asm/bootinfo.h>
++
++static struct list_head mips_machines __initdata =
++              LIST_HEAD_INIT(mips_machines);
++
++unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN] = "Unknown";
++
++static struct mips_machine * __init mips_machine_find(unsigned long machtype)
++{
++      struct list_head *this;
++
++      list_for_each(this, &mips_machines) {
++              struct mips_machine *mach;
++
++              mach = list_entry(this, struct mips_machine, list);
++              if (mach->mach_type == machtype)
++                      return mach;
++      }
++
++      return NULL;
++}
++
++void __init mips_machine_register(struct mips_machine *mach)
++{
++      list_add_tail(&mach->list, &mips_machines);
++}
++
++void __init mips_machine_setup(unsigned long machtype)
++{
++      struct mips_machine *mach;
++
++      mach = mips_machine_find(machtype);
++      if (!mach) {
++              printk(KERN_ALERT "MIPS: no machine registered for "
++                      "machtype %lu\n", machtype);
++              return;
++      }
++
++      if (mach->mach_name[0])
++              strncpy(mips_machine_name, mach->mach_name,
++                      MIPS_MACHINE_NAME_LEN);
++
++      printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
++
++      if (mach->mach_setup)
++              mach->mach_setup();
++}
++
+--- a/arch/mips/kernel/Makefile
++++ b/arch/mips/kernel/Makefile
+@@ -86,6 +86,7 @@ obj-$(CONFIG_GPIO_TXX9)              += gpio_txx9.o
+ obj-$(CONFIG_KEXEC)           += machine_kexec.o relocate_kernel.o
+ obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
++obj-$(CONFIG_MIPS_MACHINE)    += mips_machine.o
+ CFLAGS_cpu-bugs64.o   = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -858,6 +858,9 @@ config MIPS_DISABLE_OBSOLETE_IDE
+ config SYNC_R4K
+       bool
++config MIPS_MACHINE
++      def_bool n
++
+ config NO_IOPORT
+       def_bool n
diff --git a/target/linux/generic-2.6/patches-2.6.27/020-mips_multi_machine_support.patch b/target/linux/generic-2.6/patches-2.6.27/020-mips_multi_machine_support.patch
new file mode 100644 (file)
index 0000000..59406c3
--- /dev/null
@@ -0,0 +1,133 @@
+--- /dev/null
++++ b/include/asm-mips/mips_machine.h
+@@ -0,0 +1,47 @@
++/*
++ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ *
++ */
++
++#ifndef __ASM_MIPS_MACHINE_H
++#define __ASM_MIPS_MACHINE_H
++
++#include <linux/init.h>
++#include <linux/list.h>
++
++#define MIPS_MACHINE_NAME_LEN 64
++
++struct mips_machine {
++      unsigned long           mach_type;
++      void                    (*mach_setup)(void);
++      unsigned char           mach_name[MIPS_MACHINE_NAME_LEN];
++      struct list_head        list;
++};
++
++void mips_machine_register(struct mips_machine *) __init;
++void mips_machine_setup(unsigned long machtype) __init;
++
++extern unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN];
++
++#define MIPS_MACHINE(_type, _name, _setup)                    \
++static struct mips_machine machine_##_type __initdata =               \
++{                                                             \
++      .mach_type      = _type,                                \
++      .mach_name      = _name,                                \
++      .mach_setup     = _setup,                               \
++};                                                            \
++                                                              \
++static int __init register_machine_##_type(void)              \
++{                                                             \
++      mips_machine_register(&machine_##_type);                \
++      return 0;                                               \
++}                                                             \
++                                                              \
++pure_initcall(register_machine_##_type)
++
++#endif /* __ASM_MIPS_MACHINE_H */
++
+--- /dev/null
++++ b/arch/mips/kernel/mips_machine.c
+@@ -0,0 +1,58 @@
++/*
++ *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ *
++ */
++
++#include <asm/mips_machine.h>
++#include <asm/bootinfo.h>
++
++static struct list_head mips_machines __initdata =
++              LIST_HEAD_INIT(mips_machines);
++
++unsigned char mips_machine_name[MIPS_MACHINE_NAME_LEN] = "Unknown";
++
++static struct mips_machine * __init mips_machine_find(unsigned long machtype)
++{
++      struct list_head *this;
++
++      list_for_each(this, &mips_machines) {
++              struct mips_machine *mach;
++
++              mach = list_entry(this, struct mips_machine, list);
++              if (mach->mach_type == machtype)
++                      return mach;
++      }
++
++      return NULL;
++}
++
++void __init mips_machine_register(struct mips_machine *mach)
++{
++      list_add_tail(&mach->list, &mips_machines);
++}
++
++void __init mips_machine_setup(unsigned long machtype)
++{
++      struct mips_machine *mach;
++
++      mach = mips_machine_find(machtype);
++      if (!mach) {
++              printk(KERN_ALERT "MIPS: no machine registered for "
++                      "machtype %lu\n", machtype);
++              return;
++      }
++
++      if (mach->mach_name[0])
++              strncpy(mips_machine_name, mach->mach_name,
++                      MIPS_MACHINE_NAME_LEN);
++
++      printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
++
++      if (mach->mach_setup)
++              mach->mach_setup();
++}
++
+--- a/arch/mips/kernel/Makefile
++++ b/arch/mips/kernel/Makefile
+@@ -83,6 +83,7 @@ obj-$(CONFIG_GPIO_TXX9)              += gpio_txx9.o
+ obj-$(CONFIG_KEXEC)           += machine_kexec.o relocate_kernel.o
+ obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
++obj-$(CONFIG_MIPS_MACHINE)    += mips_machine.o
+ CFLAGS_cpu-bugs64.o   = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -768,6 +768,9 @@ config MIPS_DISABLE_OBSOLETE_IDE
+ config SYNC_R4K
+       bool
++config MIPS_MACHINE
++      def_bool n
++
+ config NO_IOPORT
+       def_bool n
index bd73c03cba3b4bd90e9981607bd05e7b64d0497b..f6f4b69b95e8d1070e31a8cd5b7e43b0d7308512 100644 (file)
@@ -106,6 +106,7 @@ CONFIG_MIPS=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index fe93da93129b8097b398504bafb91607a7b37708..954fd30ee852aac2004bdd0c61603db034d061f4 100644 (file)
@@ -112,6 +112,7 @@ CONFIG_MINI_FO=y
 CONFIG_MIPS=y
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=4
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 48d00ec42ff8672c25026b0dfc310cf95b287b14..ce5ed4ca0accc952919df2d17ecfe42861ce71fc 100644 (file)
@@ -133,6 +133,7 @@ CONFIG_MIPS32_O32=y
 # CONFIG_MIPS_ATLAS is not set
 # CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set