linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / mips / ite-boards / generic / it8172_setup.c
index 07faf3c..fc73c8d 100644 (file)
  *  with this program; if not, write  to the Free Software Foundation, Inc.,
  *  675 Mass Ave, Cambridge, MA 02139, USA.
  */
+#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
-#include <linux/irq.h>
 #include <linux/serial_reg.h>
 #include <linux/major.h>
 #include <linux/kdev_t.h>
@@ -59,7 +59,10 @@ extern void it8172_restart(char *command);
 extern void it8172_halt(void);
 extern void it8172_power_off(void);
 
+extern void (*board_time_init)(void);
+extern void (*board_timer_setup)(struct irqaction *irq);
 extern void it8172_time_init(void);
+extern void it8172_timer_setup(struct irqaction *irq);
 
 #ifdef CONFIG_IT8172_REVC
 struct {
@@ -69,29 +72,11 @@ struct {
     struct resource flash;
     struct resource boot;
 } it8172_resources = {
-       {
-               .start  = 0,                            /* to be initted */
-               .end    = 0,
-               .name   = "RAM",
-               .flags  = IORESOURCE_MEM
-       }, {
-               .start  = 0x10000000,
-               .end    = 0x13FFFFFF,
-               .name   = "PCI Mem",
-               .flags  = IORESOURCE_MEM
-       }, {
-               .start  = 0x14000000,
-               .end    = 0x17FFFFFF
-               .name   = "PCI I/O",
-       }, {
-               .start  = 0x08000000,
-               .end    = 0x0CFFFFFF
-               .name   = "Flash",
-       }, {
-               .start  = 0x1FC00000,
-               .end    = 0x1FFFFFFF
-               .name   = "Boot ROM",
-       }
+    { "RAM",           0,          0,          IORESOURCE_MEM }, /* to be initted */
+    { "PCI Mem",       0x10000000, 0x13FFFFFF, IORESOURCE_MEM },
+    { "PCI I/O",       0x14000000, 0x17FFFFFF                 },
+    { "Flash",         0x08000000, 0x0CFFFFFF                 },
+    { "Boot ROM",      0x1FC00000, 0x1FFFFFFF                 }
 };
 #else
 struct {
@@ -104,44 +89,14 @@ struct {
     struct resource flash;
     struct resource boot;
 } it8172_resources = {
-       {
-               .start  = 0,                            /* to be initted */
-               .end    = 0,
-               .name   = "RAM",
-               .flags  = IORESOURCE_MEM
-       }, {
-               .start  = 0x0C000000,
-               .end    = 0x0FFFFFFF,
-               .name   = "PCI Mem0",
-               .flags  = IORESOURCE_MEM
-        }, {
-               .start  = 0x10000000,
-               .end    = 0x13FFFFFF,
-               .name   = "PCI Mem1",
-               .flags  = IORESOURCE_MEM
-        }, {
-               .start  = 0x14000000,
-               .end    = 0x17FFFFFF
-               .name   = "PCI I/O",
-       }, {
-               .start  = 0x1A000000,
-               .end    = 0x1BFFFFFF,
-               .name   = "PCI Mem2",
-               .flags  = IORESOURCE_MEM
-       }, {
-               .start  = 0x1C000000,
-               .end    = 0x1FBFFFFF,
-               .name   = "PCI Mem3",
-               .flags  = IORESOURCE_MEM
-       }, {
-               .start  = 0x08000000,
-               .end    = 0x0CFFFFFF
-               .name   = "Flash",
-       }, {
-               .start  = 0x1FC00000,
-               .end    = 0x1FFFFFFF
-               .name   = "Boot ROM",
-       }
+    { "RAM",           0,          0,          IORESOURCE_MEM }, /* to be initted */
+    { "PCI Mem0",      0x0C000000, 0x0FFFFFFF, IORESOURCE_MEM },
+    { "PCI Mem1",      0x10000000, 0x13FFFFFF, IORESOURCE_MEM },
+    { "PCI I/O",       0x14000000, 0x17FFFFFF                 },
+    { "PCI Mem2",      0x1A000000, 0x1BFFFFFF, IORESOURCE_MEM },
+    { "PCI Mem3",      0x1C000000, 0x1FBFFFFF, IORESOURCE_MEM },
+    { "Flash",         0x08000000, 0x0CFFFFFF                 },
+    { "Boot ROM",      0x1FC00000, 0x1FFFFFFF                 }
 };
 #endif
 
@@ -151,7 +106,7 @@ void __init it8172_init_ram_resource(unsigned long memsize)
        it8172_resources.ram.end = memsize;
 }
 
-void __init plat_mem_setup(void)
+void __init plat_setup(void)
 {
        unsigned short dsr;
        char *argptr;
@@ -167,6 +122,7 @@ void __init plat_mem_setup(void)
        clear_c0_status(ST0_FR);
 
        board_time_init = it8172_time_init;
+       board_timer_setup = it8172_timer_setup;
 
        _machine_restart = it8172_restart;
        _machine_halt = it8172_halt;