fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sh / boards / ec3104 / setup.c
index 5130ba2..902bc97 100644 (file)
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/types.h>
-
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/machvec.h>
 #include <asm/mach/ec3104.h>
 
-const char *get_system_type(void)
+static void __init ec3104_setup(char **cmdline_p)
 {
-       return "EC3104";
+       char str[8];
+       int i;
+
+       for (i=0; i<8; i++)
+               str[i] = ctrl_readb(EC3104_BASE + i);
+
+       for (i = EC3104_IRQBASE; i < EC3104_IRQBASE + 32; i++)
+               irq_desc[i].handler = &ec3104_int;
+
+       printk("initializing EC3104 \"%.8s\" at %08x, IRQ %d, IRQ base %d\n",
+              str, EC3104_BASE, EC3104_IRQ, EC3104_IRQBASE);
+
+       /* mask all interrupts.  this should have been done by the boot
+        * loader for us but we want to be sure ... */
+       ctrl_writel(0xffffffff, EC3104_IMR);
 }
 
 /*
  * The Machine Vector
  */
-
 struct sh_machine_vector mv_ec3104 __initmv = {
+       .mv_name        = "EC3104",
+       .mv_setup       = ec3104_setup,
        .mv_nr_irqs     = 96,
 
        .mv_inb         = ec3104_inb,
@@ -48,31 +62,4 @@ struct sh_machine_vector mv_ec3104 __initmv = {
 
        .mv_irq_demux   = ec3104_irq_demux,
 };
-
 ALIAS_MV(ec3104)
-
-int __init platform_setup(void)
-{
-       char str[8];
-       int i;
-       
-       if (0)
-               return 0;
-
-       for (i=0; i<8; i++)
-               str[i] = ctrl_readb(EC3104_BASE + i);
-
-       for (i = EC3104_IRQBASE; i < EC3104_IRQBASE + 32; i++)
-               irq_desc[i].handler = &ec3104_int;
-
-       printk("initializing EC3104 \"%.8s\" at %08x, IRQ %d, IRQ base %d\n",
-              str, EC3104_BASE, EC3104_IRQ, EC3104_IRQBASE);
-
-
-       /* mask all interrupts.  this should have been done by the boot
-        * loader for us but we want to be sure ... */
-       ctrl_writel(0xffffffff, EC3104_IMR);
-       
-       return 0;
-}
-