[adm5120] use mips_machine code
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 6 Dec 2008 19:25:05 +0000 (19:25 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 6 Dec 2008 19:25:05 +0000 (19:25 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13532 3c298f89-4303-0410-b956-a3cf2f4a3e73

41 files changed:
target/linux/adm5120/files/arch/mips/adm5120/cellvision/cas-771.c
target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.c
target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.h
target/linux/adm5120/files/arch/mips/adm5120/cellvision/nfs-101.c
target/linux/adm5120/files/arch/mips/adm5120/common/Makefile
target/linux/adm5120/files/arch/mips/adm5120/common/adm5120.c
target/linux/adm5120/files/arch/mips/adm5120/common/board.c [deleted file]
target/linux/adm5120/files/arch/mips/adm5120/common/prom.c
target/linux/adm5120/files/arch/mips/adm5120/common/setup.c
target/linux/adm5120/files/arch/mips/adm5120/compex/compex.h
target/linux/adm5120/files/arch/mips/adm5120/compex/np27g.c
target/linux/adm5120/files/arch/mips/adm5120/compex/np28g.c
target/linux/adm5120/files/arch/mips/adm5120/compex/wp54.c
target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104k.c
target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104kp.c
target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61x4wg.c
target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61xx.h
target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-rt.c
target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-wvoip.c
target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120p-ata.c
target/linux/adm5120/files/arch/mips/adm5120/infineon/easy83000.c
target/linux/adm5120/files/arch/mips/adm5120/infineon/infineon.h
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-11x.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133c.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-150.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-153.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-192.c
target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-1xx.h
target/linux/adm5120/files/arch/mips/adm5120/motorola/pmugw.c
target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-334wt.c
target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-335.c
target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-33x.h
target/linux/adm5120/files/include/asm-mips/mach-adm5120/adm5120_board.h [deleted file]
target/linux/adm5120/files/include/asm-mips/mach-adm5120/adm5120_info.h
target/linux/adm5120/patches-2.6.26/001-adm5120.patch
target/linux/adm5120/patches-2.6.27/001-adm5120.patch
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

index 26995bb..5854f07 100644 (file)
@@ -33,4 +33,4 @@ static void __init cas771_setup(void)
        adm5120_pci_set_irq_map(ARRAY_SIZE(cas771_pci_irqs), cas771_pci_irqs);
 }
 
-ADM5120_BOARD(MACH_ADM5120_CAS771, "Cellvision CAS-771/771W", cas771_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS771, "Cellvision CAS-771/771W", cas771_setup);
index 282c8c7..f323a7b 100644 (file)
@@ -132,8 +132,8 @@ void __init cas6xx_setup(void)
        adm5120_add_device_switch(1, NULL);
 }
 
-ADM5120_BOARD(MACH_ADM5120_CAS630, "Cellvision CAS-630/630W", cas6xx_setup);
-ADM5120_BOARD(MACH_ADM5120_CAS670, "Cellvision CAS-670/670W", cas6xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS630, "Cellvision CAS-630/630W", cas6xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS670, "Cellvision CAS-670/670W", cas6xx_setup);
 #endif
 
 void __init cas7xx_setup(void)
@@ -146,7 +146,7 @@ void __init cas7xx_setup(void)
 }
 
 #if 0
-ADM5120_BOARD(MACH_ADM5120_CAS700, "Cellvision CAS-700/700W", cas7xx_setup);
-ADM5120_BOARD(MACH_ADM5120_CAS790, "Cellvision CAS-790", cas7xx_setup);
-ADM5120_BOARD(MACH_ADM5120_CAS861, "Cellvision CAS-861/861W", cas7xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS700, "Cellvision CAS-700/700W", cas7xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS790, "Cellvision CAS-790", cas7xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS861, "Cellvision CAS-861/861W", cas7xx_setup);
 #endif
index 175fbb2..2b55ebf 100644 (file)
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_info.h>
-#include <asm/mach-adm5120/adm5120_board.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 
 extern void cellvision_mac_setup(void) __init;
index 3482e11..1975736 100644 (file)
@@ -25,4 +25,4 @@ static void __init nfs101_setup(void)
        adm5120_add_device_switch(5, nfs101_vlans);
 }
 
-ADM5120_BOARD(MACH_ADM5120_NFS101U, "Cellvision NFS-101U/101WU", nfs101_setup);
+MIPS_MACHINE(MACH_ADM5120_NFS101U, "Cellvision NFS-101U/101WU", nfs101_setup);
index 663fd21..d24aa07 100644 (file)
@@ -2,5 +2,5 @@
 # Makefile for the Infineon/ADMtek ADM5120 SoC specific parts of the kernel
 #
 
-obj-y  := adm5120.o setup.o prom.o irq.o memory.o board.o clock.o \
+obj-y  := adm5120.o setup.o prom.o irq.o memory.o clock.o \
           gpio.o platform.o
index f227e87..3b969ce 100644 (file)
@@ -12,7 +12,7 @@
 #include <linux/init.h>
 #include <linux/io.h>
 
-#include <asm/bootinfo.h>
+//#include <asm/bootinfo.h>
 #include <asm/addrspace.h>
 
 #include <asm/mach-adm5120/adm5120_info.h>
@@ -24,6 +24,7 @@ unsigned int adm5120_revision;
 unsigned int adm5120_package;
 unsigned int adm5120_nand_boot;
 unsigned long adm5120_speed;
+unsigned long adm5120_mach_type;
 
 /*
  * CPU settings detection
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/common/board.c b/target/linux/adm5120/files/arch/mips/adm5120/common/board.c
deleted file mode 100644 (file)
index be1fc9a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- *  ADM5120 generic board code
- *
- *  Copyright (C) 2007-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 <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/list.h>
-#include <linux/string.h>
-#include <linux/device.h>
-#include <linux/platform_device.h>
-
-#include <asm/bootinfo.h>
-
-#include <asm/mach-adm5120/adm5120_info.h>
-#include <asm/mach-adm5120/adm5120_defs.h>
-#include <asm/mach-adm5120/adm5120_board.h>
-#include <asm/mach-adm5120/adm5120_platform.h>
-
-#define PFX    "ADM5120: "
-
-static struct list_head adm5120_boards __initdata =
-                       LIST_HEAD_INIT(adm5120_boards);
-
-static char adm5120_board_name[ADM5120_BOARD_NAMELEN] = "Unknown board";
-
-const char *get_system_type(void)
-{
-       return adm5120_board_name;
-}
-
-static struct adm5120_board * __init adm5120_board_find(unsigned long machtype)
-{
-       struct list_head *this;
-
-       list_for_each(this, &adm5120_boards) {
-               struct adm5120_board *board;
-
-               board = list_entry(this, struct adm5120_board, list);
-               if (board->mach_type == machtype)
-                       return board;
-       }
-
-       return NULL;
-}
-
-static int __init adm5120_board_setup(void)
-{
-       struct adm5120_board *board;
-
-       board = adm5120_board_find(mips_machtype);
-       if (board == NULL)
-               panic(PFX "no board registered for machtype %lu\n",
-                       mips_machtype);
-
-       if (board->name[0])
-               strlcpy(adm5120_board_name, board->name, ADM5120_BOARD_NAMELEN);
-
-       printk(KERN_INFO PFX "board is '%s'\n", adm5120_board_name);
-
-       adm5120_gpio_init();
-
-       if (board->board_setup)
-               board->board_setup();
-
-       return 0;
-}
-arch_initcall(adm5120_board_setup);
-
-void __init adm5120_board_register(struct adm5120_board *board)
-{
-       list_add_tail(&board->list, &adm5120_boards);
-}
-
-static void __init adm5120_generic_board_setup(void)
-{
-       adm5120_add_device_uart(0);
-       adm5120_add_device_uart(1);
-
-       adm5120_add_device_flash(0);
-       adm5120_add_device_switch(6, NULL);
-}
-
-ADM5120_BOARD(MACH_ADM5120_GENERIC, "Generic ADM5120 board",
-               adm5120_generic_board_setup);
index 4c48dc0..ceab35d 100644 (file)
@@ -15,8 +15,9 @@
 #include <linux/mm.h>
 #include <linux/io.h>
 
-#include <asm/bootinfo.h>
 #include <asm/addrspace.h>
+#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_info.h>
 #include <asm/mach-adm5120/adm5120_defs.h>
@@ -203,35 +204,35 @@ static void __init prom_detect_machtype(void)
 {
        if (bootbase_present()) {
                adm5120_prom_type = ADM5120_PROM_BOOTBASE;
-               mips_machtype = detect_machtype_bootbase();
+               adm5120_mach_type = detect_machtype_bootbase();
                return;
        }
 
        if (cfe_present()) {
                adm5120_prom_type = ADM5120_PROM_CFE;
-               mips_machtype = detect_machtype_cfe();
+               adm5120_mach_type = detect_machtype_cfe();
                return;
        }
 
        if (myloader_present()) {
                adm5120_prom_type = ADM5120_PROM_MYLOADER;
-               mips_machtype = detect_machtype_myloader();
+               adm5120_mach_type = detect_machtype_myloader();
                return;
        }
 
        if (routerboot_present()) {
                adm5120_prom_type = ADM5120_PROM_ROUTERBOOT;
-               mips_machtype = detect_machtype_routerboot();
+               adm5120_mach_type = detect_machtype_routerboot();
                return;
        }
 
        if (generic_prom_present()) {
                adm5120_prom_type = ADM5120_PROM_GENERIC;
-               mips_machtype = detect_machtype_generic();
+               adm5120_mach_type = detect_machtype_generic();
                return;
        }
 
-       mips_machtype = MACH_ADM5120_GENERIC;
+       adm5120_mach_type = MACH_ADM5120_GENERIC;
 }
 
 /* TODO: this is an ugly hack for RouterBOARDS */
index 0a11774..ef8caba 100644 (file)
 
 #include <asm/reboot.h>
 #include <asm/time.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_info.h>
 #include <asm/mach-adm5120/adm5120_defs.h>
 #include <asm/mach-adm5120/adm5120_switch.h>
-#include <asm/mach-adm5120/adm5120_board.h>
+#include <asm/mach-adm5120/adm5120_platform.h>
 
 void (*adm5120_board_reset)(void);
 
@@ -52,6 +53,11 @@ static void __init adm5120_report(void)
        printk(KERN_INFO "Prom     : %s\n", prom_names[adm5120_prom_type]);
 }
 
+const char *get_system_type(void)
+{
+       return mips_machine_name;
+}
+
 static void adm5120_restart(char *command)
 {
        /* TODO: stop switch before reset */
@@ -89,3 +95,25 @@ void __init plat_mem_setup(void)
 
        set_io_port_base(KSEG1);
 }
+
+static int __init adm5120_board_setup(void)
+{
+       adm5120_gpio_init();
+
+       mips_machine_setup(adm5120_mach_type);
+
+       return 0;
+}
+arch_initcall(adm5120_board_setup);
+
+static void __init adm5120_generic_board_setup(void)
+{
+       adm5120_add_device_uart(0);
+       adm5120_add_device_uart(1);
+
+       adm5120_add_device_flash(0);
+       adm5120_add_device_switch(6, NULL);
+}
+
+MIPS_MACHINE(MACH_ADM5120_GENERIC, "Generic ADM5120 board",
+               adm5120_generic_board_setup);
index 6242537..124e676 100644 (file)
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_info.h>
-#include <asm/mach-adm5120/adm5120_board.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 
 extern void compex_generic_setup(void) __init;
index edd980e..8a70bf8 100644 (file)
@@ -25,4 +25,4 @@ static void __init np27g_setup(void)
        /* TODO: add PCI IRQ map */
 }
 
-ADM5120_BOARD(MACH_ADM5120_NP27G, "Compex NetPassage 27G", np27g_setup);
+MIPS_MACHINE(MACH_ADM5120_NP27G, "Compex NetPassage 27G", np27g_setup);
index eba288f..f1f54ab 100644 (file)
@@ -60,4 +60,4 @@ static void __init np28g_setup(void)
        adm5120_pci_set_irq_map(ARRAY_SIZE(np28g_pci_irqs), np28g_pci_irqs);
 }
 
-ADM5120_BOARD(MACH_ADM5120_NP28G, "Compex NetPassage 28G", np28g_setup);
+MIPS_MACHINE(MACH_ADM5120_NP28G, "Compex NetPassage 28G", np28g_setup);
index 86b9d68..d56656d 100644 (file)
@@ -79,7 +79,7 @@ static void __init wp54_setup(void)
        adm5120_pci_set_irq_map(ARRAY_SIZE(wp54_pci_irqs), wp54_pci_irqs);
 }
 
-ADM5120_BOARD(MACH_ADM5120_WP54, "Compex WP54 family", wp54_setup);
+MIPS_MACHINE(MACH_ADM5120_WP54, "Compex WP54 family", wp54_setup);
 
 static void __init wp54_wrt_setup(void)
 {
@@ -91,4 +91,4 @@ static void __init wp54_wrt_setup(void)
        wp54_setup();
 }
 
-ADM5120_BOARD(MACH_ADM5120_WP54G_WRT, "Compex WP54G-WRT", wp54_wrt_setup);
+MIPS_MACHINE(MACH_ADM5120_WP54G_WRT, "Compex WP54G-WRT", wp54_wrt_setup);
index b0ed8fa..e5ede5e 100644 (file)
@@ -32,4 +32,4 @@ static void __init br6104k_setup(void)
                                        br6104k_gpio_leds);
 }
 
-ADM5120_BOARD(MACH_ADM5120_BR6104K, "Edimax BR-6104K", br6104k_setup);
+MIPS_MACHINE(MACH_ADM5120_BR6104K, "Edimax BR-6104K", br6104k_setup);
index e0556b7..dba2439 100644 (file)
@@ -35,4 +35,4 @@ static void __init br6104kp_setup(void)
        adm5120_add_device_usb();
 }
 
-ADM5120_BOARD(MACH_ADM5120_BR6104KP, "Edimax BR-6104KP", br6104kp_setup);
+MIPS_MACHINE(MACH_ADM5120_BR6104KP, "Edimax BR-6104KP", br6104kp_setup);
index 98d64f1..b9a208b 100644 (file)
@@ -39,4 +39,4 @@ static void __init br61x4wg_setup(void)
                                        br61x4wg_pci_irqs);
 }
 
-ADM5120_BOARD(MACH_ADM5120_BR61X4WG, "Edimax BR-6104WG/6114WG", br61x4wg_setup);
+MIPS_MACHINE(MACH_ADM5120_BR61X4WG, "Edimax BR-6104WG/6114WG", br61x4wg_setup);
index f8ad137..c4a9ece 100644 (file)
@@ -15,9 +15,9 @@
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
-#include <asm/mach-adm5120/adm5120_board.h>
+#include <asm/mach-adm5120/adm5120_info.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 
 extern void __init br61xx_generic_setup(void) __init;
index 618564e..aa01f4e 100644 (file)
@@ -44,6 +44,6 @@ static void __init easy5120_rt_setup(void)
                                easy5120_rt_pci_irqs);
 }
 
-ADM5120_BOARD(MACH_ADM5120_EASY5120RT,
+MIPS_MACHINE(MACH_ADM5120_EASY5120RT,
                "Infineon EASY 5120-RT Reference Board",
                easy5120_rt_setup);
index f51f463..bf8e15d 100644 (file)
@@ -20,6 +20,6 @@ static void __init easy5120wvoip_setup(void)
        /* TODO: setup PCI IRQ map */
 }
 
-ADM5120_BOARD(MACH_ADM5120_EASY5120WVOIP,
+MIPS_MACHINE(MACH_ADM5120_EASY5120WVOIP,
                "Infineon EASY 5120-WVoIP Reference Board",
                easy5120wvoip_setup);
index 90c975b..fa9b0ac 100644 (file)
@@ -18,6 +18,6 @@ static void __init easy5120pata_setup(void)
        adm5120_add_device_switch(6, NULL);
 }
 
-ADM5120_BOARD(MACH_ADM5120_EASY5120PATA,
+MIPS_MACHINE(MACH_ADM5120_EASY5120PATA,
                "Infineon EASY 5120P-ATA Reference Board",
                easy5120pata_setup);
index dd14bad..709d0a8 100644 (file)
@@ -19,6 +19,6 @@ static void __init easy83000_setup(void)
        /* TODO: add VINAX device */
 }
 
-ADM5120_BOARD(MACH_ADM5120_EASY83000,
+MIPS_MACHINE(MACH_ADM5120_EASY83000,
                "Infineon EASY 83000 Reference Board",
                easy83000_setup);
index 2e25a8f..a5f28b4 100644 (file)
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_defs.h>
-#include <asm/mach-adm5120/adm5120_board.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 #include <asm/mach-adm5120/adm5120_info.h>
 
index e238c62..b74c2ca 100644 (file)
@@ -32,4 +32,4 @@ static void __init rb11x_setup(void)
                                        rb11x_gpio_leds);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_11X, "Mikrotik RouterBOARD 111/112", rb11x_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_11X, "Mikrotik RouterBOARD 111/112", rb11x_setup);
index 9000a20..46fcc24 100644 (file)
@@ -37,4 +37,4 @@ static void __init rb133_setup(void)
                                        rb133_gpio_leds);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_133, "Mikrotik RouterBOARD 133", rb133_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_133, "Mikrotik RouterBOARD 133", rb133_setup);
index 9003b86..9fcbeb7 100644 (file)
@@ -33,4 +33,4 @@ static void __init rb133c_setup(void)
                                        rb133c_gpio_leds);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_133C, "Mikrotik RouterBOARD 133C", rb133c_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_133C, "Mikrotik RouterBOARD 133C", rb133c_setup);
index bba3be2..8c6caf8 100644 (file)
@@ -133,4 +133,4 @@ static void __init rb150_setup(void)
        adm5120_add_device_switch(5, rb150_vlans);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_150, "Mikrotik RouterBOARD 150", rb150_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_150, "Mikrotik RouterBOARD 150", rb150_setup);
index ee38ff2..3b52047 100644 (file)
@@ -71,4 +71,4 @@ static void __init rb153_setup(void)
        adm5120_add_device_switch(5, rb153_vlans);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_153, "Mikrotik RouterBOARD 153", rb153_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_153, "Mikrotik RouterBOARD 153", rb153_setup);
index 0821607..b9f47d3 100644 (file)
@@ -24,4 +24,4 @@ static void __init rb192_setup(void)
        adm5120_add_device_switch(6, rb192_vlans);
 }
 
-ADM5120_BOARD(MACH_ADM5120_RB_192, "Mikrotik RouterBOARD 192", rb192_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_192, "Mikrotik RouterBOARD 192", rb192_setup);
index 1577ed6..835110d 100644 (file)
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_defs.h>
 #include <asm/mach-adm5120/adm5120_nand.h>
-#include <asm/mach-adm5120/adm5120_board.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 #include <asm/mach-adm5120/adm5120_info.h>
 
index a74d37d..d0f1416 100644 (file)
 #include <linux/irq.h>
 #include <linux/etherdevice.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
 #include <asm/mach-adm5120/adm5120_defs.h>
-#include <asm/mach-adm5120/adm5120_board.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 #include <asm/mach-adm5120/adm5120_info.h>
 
@@ -97,6 +96,6 @@ void __init pmugw_setup(void)
        adm5120_add_device_switch(5, pmugw_vlans);
 }
 
-ADM5120_BOARD(MACH_ADM5120_PMUGW,
+MIPS_MACHINE(MACH_ADM5120_PMUGW,
                "Motorola Powerline MU Gateway",
                pmugw_setup);
index 6eb23da..c08650d 100644 (file)
@@ -30,4 +30,4 @@ static void __init p334wt_setup(void)
                                        p334wt_gpio_leds);
 }
 
-ADM5120_BOARD(MACH_ADM5120_P334WT, "ZyXEL Prestige 334WT", p334wt_setup);
+MIPS_MACHINE(MACH_ADM5120_P334WT, "ZyXEL Prestige 334WT", p334wt_setup);
index 0e6cdd9..0b56e1b 100644 (file)
@@ -17,4 +17,4 @@ static void __init p335_setup(void)
        adm5120_add_device_usb();
 }
 
-ADM5120_BOARD(MACH_ADM5120_P335, "ZyXEL Prestige 335/335WT", p335_setup);
+MIPS_MACHINE(MACH_ADM5120_P335, "ZyXEL Prestige 335/335WT", p335_setup);
index 0971cd5..8a7340c 100644 (file)
@@ -14,9 +14,9 @@
 #include <linux/gpio.h>
 #include <linux/irq.h>
 
-#include <asm/bootinfo.h>
+#include <asm/mips_machine.h>
 
-#include <asm/mach-adm5120/adm5120_board.h>
+#include <asm/mach-adm5120/adm5120_info.h>
 #include <asm/mach-adm5120/adm5120_platform.h>
 
 extern void p33x_generic_setup(void) __init;
diff --git a/target/linux/adm5120/files/include/asm-mips/mach-adm5120/adm5120_board.h b/target/linux/adm5120/files/include/asm-mips/mach-adm5120/adm5120_board.h
deleted file mode 100644 (file)
index c45b53f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  ADM5120 board definitions
- *
- *  Copyright (C) 2007-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_MACH_ADM5120_BOARD_H
-#define _ASM_MIPS_MACH_ADM5120_BOARD_H
-
-#include <linux/init.h>
-#include <linux/list.h>
-
-#define ADM5120_BOARD_NAMELEN  64
-
-struct adm5120_board {
-       unsigned long           mach_type;
-       char                    name[ADM5120_BOARD_NAMELEN];
-
-       void                    (*board_setup)(void);
-       struct list_head        list;
-};
-
-extern void adm5120_board_register(struct adm5120_board *) __init;
-
-#define ADM5120_BOARD(_type, _name, _setup)                            \
-static struct adm5120_board adm5120_board_##_type __initdata = {       \
-       .mach_type      = _type,                                        \
-       .name           = _name,                                        \
-       .board_setup    = _setup,                                       \
-};                                                                     \
-                                                                       \
-static __init int adm5120_board_##_type##_register(void)               \
-{                                                                      \
-       adm5120_board_register(&adm5120_board_##_type);                 \
-       return 0;                                                       \
-}                                                                      \
-pure_initcall(adm5120_board_##_type##_register)
-
-#endif /* _ASM_MIPS_MACH_ADM5120_BOARD_H */
index d28ef80..d90d9d1 100644 (file)
@@ -37,6 +37,54 @@ extern unsigned int adm5120_package;
 
 extern unsigned long adm5120_memsize;
 
+extern unsigned long adm5120_mach_type;
+
+#define MACH_ADM5120_GENERIC   0       /* Generic board */
+#define MACH_ADM5120_WP54G_WRT 1       /* Compex WP54G-WRT */
+#define MACH_ADM5120_WP54      2       /* Compex WP54G/WP54AG/WPP54G/WPP54AG */
+#define MACH_ADM5120_NP28G     3       /* Compex NP28G */
+#define MACH_ADM5120_NP28GHS   4       /* Compex NP28G HotSpot */
+#define MACH_ADM5120_NP27G     5       /* Compex NP27G */
+#define MACH_ADM5120_WP54Gv1C  6       /* Compex WP54G version 1C */
+#define MACH_ADM5120_RB_11X    7       /* Mikrotik RouterBOARD 111/112 */
+#define MACH_ADM5120_RB_133    8       /* Mikrotik RouterBOARD 133 */
+#define MACH_ADM5120_RB_133C   9       /* Mikrotik RouterBOARD 133c */
+#define MACH_ADM5120_RB_150    10      /* Mikrotik RouterBOARD 150 */
+#define MACH_ADM5120_RB_153    11      /* Mikrotik RouterBOARD 153 */
+#define MACH_ADM5120_RB_192    12      /* Mikrotik RouterBOARD 192 */
+#define MACH_ADM5120_HS100     13      /* ZyXEL HomeSafe 100/100W */
+#define MACH_ADM5120_P334U     14      /* ZyXEL Prestige 334U */
+#define MACH_ADM5120_P334W     15      /* ZyXEL Prestige 334W */
+#define MACH_ADM5120_P334WH    16      /* ZyXEL Prestige 334WH */
+#define MACH_ADM5120_P334WHD   17      /* ZyXEL Prestige 334WHD */
+#define MACH_ADM5120_P334WT    18      /* ZyXEL Prestige 334WT */
+#define MACH_ADM5120_P335      19      /* ZyXEL Prestige 335/335WT */
+#define MACH_ADM5120_P335PLUS  20      /* ZyXEL Prestige 335Plus */
+#define MACH_ADM5120_P335U     21      /* ZyXEL Prestige 335U */
+#define MACH_ADM5120_ES2108    22      /* ZyXEL Ethernet Switch 2108 */
+#define MACH_ADM5120_ES2108F   23      /* ZyXEL Ethernet Switch 2108-F */
+#define MACH_ADM5120_ES2108G   24      /* ZyXEL Ethernet Switch 2108-G */
+#define MACH_ADM5120_ES2108LC  25      /* ZyXEL Ethernet Switch 2108-LC */
+#define MACH_ADM5120_ES2108PWR 26      /* ZyXEL Ethernet Switch 2108-PWR */
+#define MACH_ADM5120_ES2024A   27      /* ZyXEL Ethernet Switch 2024A */
+#define MACH_ADM5120_ES2024PWR 28      /* ZyXEL Ethernet Switch 2024PWR */
+#define MACH_ADM5120_CAS630    29      /* Cellvision CAS-630/630W */
+#define MACH_ADM5120_CAS670    30      /* Cellvision CAS-670/670W */
+#define MACH_ADM5120_CAS700    31      /* Cellvision CAS-700/700W */
+#define MACH_ADM5120_CAS771    32      /* Cellvision CAS-771/771W */
+#define MACH_ADM5120_CAS790    33      /* Cellvision CAS-790 */
+#define MACH_ADM5120_CAS861    34      /* Cellvision CAS-861/861W */
+#define MACH_ADM5120_NFS101U   35      /* Cellvision NFS-101U/101WU */
+#define MACH_ADM5120_NFS202U   36      /* Cellvision NFS-202U/202WU */
+#define MACH_ADM5120_EASY5120PATA 37   /* Infineon EASY 5120P-ATA */
+#define MACH_ADM5120_EASY5120RT 38     /* Infineon EASY 5120-RT */
+#define MACH_ADM5120_EASY5120WVOIP 39  /* Infineon EASY 5120-WVoIP */
+#define MACH_ADM5120_EASY83000 40      /* Infineon EASY-83000 */
+#define MACH_ADM5120_BR6104K   41      /* Edimax BR-6104K */
+#define MACH_ADM5120_BR6104KP  42      /* Edimax BR-6104KP */
+#define MACH_ADM5120_BR61X4WG  43      /* Edimax BR-6104Wg/BR-6114WG */
+#define MACH_ADM5120_PMUGW     44      /* Motorola Powerline MU Gateway */
+
 /*
  * TODO:remove adm5120_eth* variables when the switch driver will be
  *     converted into a real platform driver
index 1ba5db6..ffebf85 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -18,6 +18,21 @@ choice
+@@ -18,6 +18,22 @@ choice
        prompt "System type"
        default SGI_IP22
  
@@ -18,6 +18,7 @@
 +      select GENERIC_GPIO
 +      select HAVE_GPIO_LIB
 +      select SWAP_IO_SPACE if CPU_BIG_ENDIAN
++      select MIPS_MACHINE
 +
  config MACH_ALCHEMY
        bool "Alchemy processor based machines"
  # Common Alchemy Au1x00 stuff
  #
  core-$(CONFIG_SOC_AU1X00)     += arch/mips/au1000/common/
---- a/include/asm-mips/bootinfo.h
-+++ b/include/asm-mips/bootinfo.h
-@@ -94,6 +94,55 @@
- #define MACH_MSP7120_FPGA       5     /* PMC-Sierra MSP7120 Emulation */
- #define MACH_MSP_OTHER        255     /* PMC-Sierra unknown board type */
-+/*
-+ * Valid machtype for group ADM5120
-+ */
-+#define MACH_ADM5120_GENERIC  0       /* Generic board */
-+#define MACH_ADM5120_WP54G_WRT        1       /* Compex WP54G-WRT */
-+#define MACH_ADM5120_WP54     2       /* Compex WP54G/WP54AG/WPP54G/WPP54AG */
-+#define MACH_ADM5120_NP28G    3       /* Compex NP28G */
-+#define MACH_ADM5120_NP28GHS  4       /* Compex NP28G HotSpot */
-+#define MACH_ADM5120_NP27G    5       /* Compex NP27G */
-+#define MACH_ADM5120_WP54Gv1C 6       /* Compex WP54G version 1C */
-+#define MACH_ADM5120_RB_11X   7       /* Mikrotik RouterBOARD 111/112 */
-+#define MACH_ADM5120_RB_133   8       /* Mikrotik RouterBOARD 133 */
-+#define MACH_ADM5120_RB_133C  9       /* Mikrotik RouterBOARD 133c */
-+#define MACH_ADM5120_RB_150   10      /* Mikrotik RouterBOARD 150 */
-+#define MACH_ADM5120_RB_153   11      /* Mikrotik RouterBOARD 153 */
-+#define MACH_ADM5120_RB_192   12      /* Mikrotik RouterBOARD 192 */
-+#define MACH_ADM5120_HS100    13      /* ZyXEL HomeSafe 100/100W */
-+#define MACH_ADM5120_P334U    14      /* ZyXEL Prestige 334U */
-+#define MACH_ADM5120_P334W    15      /* ZyXEL Prestige 334W */
-+#define MACH_ADM5120_P334WH   16      /* ZyXEL Prestige 334WH */
-+#define MACH_ADM5120_P334WHD  17      /* ZyXEL Prestige 334WHD */
-+#define MACH_ADM5120_P334WT   18      /* ZyXEL Prestige 334WT */
-+#define MACH_ADM5120_P335     19      /* ZyXEL Prestige 335/335WT */
-+#define MACH_ADM5120_P335PLUS 20      /* ZyXEL Prestige 335Plus */
-+#define MACH_ADM5120_P335U    21      /* ZyXEL Prestige 335U */
-+#define MACH_ADM5120_ES2108   22      /* ZyXEL Ethernet Switch 2108 */
-+#define MACH_ADM5120_ES2108F  23      /* ZyXEL Ethernet Switch 2108-F */
-+#define MACH_ADM5120_ES2108G  24      /* ZyXEL Ethernet Switch 2108-G */
-+#define MACH_ADM5120_ES2108LC 25      /* ZyXEL Ethernet Switch 2108-LC */
-+#define MACH_ADM5120_ES2108PWR        26      /* ZyXEL Ethernet Switch 2108-PWR */
-+#define MACH_ADM5120_ES2024A  27      /* ZyXEL Ethernet Switch 2024A */
-+#define MACH_ADM5120_ES2024PWR        28      /* ZyXEL Ethernet Switch 2024PWR */
-+#define MACH_ADM5120_CAS630   29      /* Cellvision CAS-630/630W */
-+#define MACH_ADM5120_CAS670   30      /* Cellvision CAS-670/670W */
-+#define MACH_ADM5120_CAS700   31      /* Cellvision CAS-700/700W */
-+#define MACH_ADM5120_CAS771   32      /* Cellvision CAS-771/771W */
-+#define MACH_ADM5120_CAS790   33      /* Cellvision CAS-790 */
-+#define MACH_ADM5120_CAS861   34      /* Cellvision CAS-861/861W */
-+#define MACH_ADM5120_NFS101U  35      /* Cellvision NFS-101U/101WU */
-+#define MACH_ADM5120_NFS202U  36      /* Cellvision NFS-202U/202WU */
-+#define MACH_ADM5120_EASY5120PATA 37  /* Infineon EASY 5120P-ATA */
-+#define MACH_ADM5120_EASY5120RT 38    /* Infineon EASY 5120-RT */
-+#define MACH_ADM5120_EASY5120WVOIP 39 /* Infineon EASY 5120-WVoIP */
-+#define MACH_ADM5120_EASY83000        40      /* Infineon EASY-83000 */
-+#define MACH_ADM5120_BR6104K  41      /* Edimax BR-6104K */
-+#define MACH_ADM5120_BR6104KP 42      /* Edimax BR-6104KP */
-+#define MACH_ADM5120_BR61X4WG 43      /* Edimax BR-6104Wg/BR-6114WG */
-+#define MACH_ADM5120_PMUGW    44      /* Motorola Powerline MU Gateway */
-+
- #define CL_SIZE                       COMMAND_LINE_SIZE
- extern char *system_type;
index 5723e0a..1f09d00 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -19,6 +19,20 @@ choice
+@@ -19,6 +19,21 @@ choice
        prompt "System type"
        default SGI_IP22
  
@@ -17,6 +17,7 @@
 +      select SYS_SUPPORTS_32BIT_KERNEL
 +      select ARCH_REQUIRE_GPIOLIB
 +      select SWAP_IO_SPACE if CPU_BIG_ENDIAN
++      select MIPS_MACHINE
 +
  config MACH_ALCHEMY
        bool "Alchemy processor based machines"
  # Common Alchemy Au1x00 stuff
  #
  core-$(CONFIG_SOC_AU1X00)     += arch/mips/au1000/common/
---- a/include/asm-mips/bootinfo.h
-+++ b/include/asm-mips/bootinfo.h
-@@ -57,6 +57,55 @@
- #define       MACH_MIKROTIK_RB532     0       /* Mikrotik RouterBoard 532     */
- #define MACH_MIKROTIK_RB532A  1       /* Mikrotik RouterBoard 532A    */
-+/*
-+ * Valid machtype for group ADM5120
-+ */
-+#define MACH_ADM5120_GENERIC  0       /* Generic board */
-+#define MACH_ADM5120_WP54G_WRT        1       /* Compex WP54G-WRT */
-+#define MACH_ADM5120_WP54     2       /* Compex WP54G/WP54AG/WPP54G/WPP54AG */
-+#define MACH_ADM5120_NP28G    3       /* Compex NP28G */
-+#define MACH_ADM5120_NP28GHS  4       /* Compex NP28G HotSpot */
-+#define MACH_ADM5120_NP27G    5       /* Compex NP27G */
-+#define MACH_ADM5120_WP54Gv1C 6       /* Compex WP54G version 1C */
-+#define MACH_ADM5120_RB_11X   7       /* Mikrotik RouterBOARD 111/112 */
-+#define MACH_ADM5120_RB_133   8       /* Mikrotik RouterBOARD 133 */
-+#define MACH_ADM5120_RB_133C  9       /* Mikrotik RouterBOARD 133c */
-+#define MACH_ADM5120_RB_150   10      /* Mikrotik RouterBOARD 150 */
-+#define MACH_ADM5120_RB_153   11      /* Mikrotik RouterBOARD 153 */
-+#define MACH_ADM5120_RB_192   12      /* Mikrotik RouterBOARD 192 */
-+#define MACH_ADM5120_HS100    13      /* ZyXEL HomeSafe 100/100W */
-+#define MACH_ADM5120_P334U    14      /* ZyXEL Prestige 334U */
-+#define MACH_ADM5120_P334W    15      /* ZyXEL Prestige 334W */
-+#define MACH_ADM5120_P334WH   16      /* ZyXEL Prestige 334WH */
-+#define MACH_ADM5120_P334WHD  17      /* ZyXEL Prestige 334WHD */
-+#define MACH_ADM5120_P334WT   18      /* ZyXEL Prestige 334WT */
-+#define MACH_ADM5120_P335     19      /* ZyXEL Prestige 335/335WT */
-+#define MACH_ADM5120_P335PLUS 20      /* ZyXEL Prestige 335Plus */
-+#define MACH_ADM5120_P335U    21      /* ZyXEL Prestige 335U */
-+#define MACH_ADM5120_ES2108   22      /* ZyXEL Ethernet Switch 2108 */
-+#define MACH_ADM5120_ES2108F  23      /* ZyXEL Ethernet Switch 2108-F */
-+#define MACH_ADM5120_ES2108G  24      /* ZyXEL Ethernet Switch 2108-G */
-+#define MACH_ADM5120_ES2108LC 25      /* ZyXEL Ethernet Switch 2108-LC */
-+#define MACH_ADM5120_ES2108PWR        26      /* ZyXEL Ethernet Switch 2108-PWR */
-+#define MACH_ADM5120_ES2024A  27      /* ZyXEL Ethernet Switch 2024A */
-+#define MACH_ADM5120_ES2024PWR        28      /* ZyXEL Ethernet Switch 2024PWR */
-+#define MACH_ADM5120_CAS630   29      /* Cellvision CAS-630/630W */
-+#define MACH_ADM5120_CAS670   30      /* Cellvision CAS-670/670W */
-+#define MACH_ADM5120_CAS700   31      /* Cellvision CAS-700/700W */
-+#define MACH_ADM5120_CAS771   32      /* Cellvision CAS-771/771W */
-+#define MACH_ADM5120_CAS790   33      /* Cellvision CAS-790 */
-+#define MACH_ADM5120_CAS861   34      /* Cellvision CAS-861/861W */
-+#define MACH_ADM5120_NFS101U  35      /* Cellvision NFS-101U/101WU */
-+#define MACH_ADM5120_NFS202U  36      /* Cellvision NFS-202U/202WU */
-+#define MACH_ADM5120_EASY5120PATA 37  /* Infineon EASY 5120P-ATA */
-+#define MACH_ADM5120_EASY5120RT 38    /* Infineon EASY 5120-RT */
-+#define MACH_ADM5120_EASY5120WVOIP 39 /* Infineon EASY 5120-WVoIP */
-+#define MACH_ADM5120_EASY83000        40      /* Infineon EASY-83000 */
-+#define MACH_ADM5120_BR6104K  41      /* Edimax BR-6104K */
-+#define MACH_ADM5120_BR6104KP 42      /* Edimax BR-6104KP */
-+#define MACH_ADM5120_BR61X4WG 43      /* Edimax BR-6104Wg/BR-6114WG */
-+#define MACH_ADM5120_PMUGW    44      /* Motorola Powerline MU Gateway */
-+
- #define CL_SIZE                       COMMAND_LINE_SIZE
- extern char *system_type;
index 35cbc91..d012e8d 100644 (file)
@@ -138,7 +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_MACHINE=y
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index eae094f..db14e60 100644 (file)
@@ -144,7 +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_MACHINE=y
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 362f591..10564e3 100644 (file)
@@ -161,7 +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_MACHINE=y
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set
index 5ef89ca..ac3682b 100644 (file)
@@ -167,7 +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_MACHINE=y
 # CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
 # CONFIG_MIPS_MT_SMP is not set