fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / ppc / platforms / apus_setup.c
index 8a4969a..063274d 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  arch/ppc/platforms/apus_setup.c
- *
  *  Copyright (C) 1998, 1999  Jesper Skov
  *
  *  Basically what is needed to replace functionality found in
@@ -13,7 +11,6 @@
  *  Amiga specific stuff into mach/amiga.
  */
 
-#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/init.h>
@@ -55,9 +52,6 @@ int (*mach_hwclk) (int, struct hwclk_time*) = NULL;
 int (*mach_set_clock_mmss) (unsigned long) = NULL;
 void (*mach_reset)( void );
 long mach_max_dma_address = 0x00ffffff; /* default set to the lower 16MB */
-#if defined(CONFIG_AMIGA_FLOPPY)
-void (*mach_floppy_setup) (char *, int *) __initdata = NULL;
-#endif
 #ifdef CONFIG_HEARTBEAT
 void (*mach_heartbeat) (int) = NULL;
 extern void apus_heartbeat (void);
@@ -76,7 +70,6 @@ struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
 
 struct mem_info ramdisk;
 
-extern void amiga_floppy_setup(char *, int *);
 extern void config_amiga(void);
 
 static int __60nsram = 0;
@@ -305,16 +298,6 @@ void kbd_reset_setup(char *str, int *ints)
 {
 }
 
-/*********************************************************** FLOPPY */
-#if defined(CONFIG_AMIGA_FLOPPY)
-__init
-void floppy_setup(char *str, int *ints)
-{
-       if (mach_floppy_setup)
-               mach_floppy_setup (str, ints);
-}
-#endif
-
 /*********************************************************** MEMORY */
 #define KMAP_MAX 32
 unsigned long kmap_chunks[KMAP_MAX*3];
@@ -480,7 +463,7 @@ void cache_clear(__u32 addr, int length)
 void
 apus_restart(char *cmd)
 {
-       cli();
+       local_irq_disable();
 
        APUS_WRITE(APUS_REG_LOCK,
                   REGLOCK_BLACKMAGICK1|REGLOCK_BLACKMAGICK2);
@@ -509,7 +492,7 @@ apus_halt(void)
 
 static unsigned char last_ipl[8];
 
-int apus_get_irq(struct pt_regs* regs)
+int apus_get_irq(void)
 {
        unsigned char ipl_emu, mask;
        unsigned int level;
@@ -574,9 +557,9 @@ static __inline__ void ser_RTSon(void)
 
 int __debug_ser_out( unsigned char c )
 {
-       custom.serdat = c | 0x100;
+       amiga_custom.serdat = c | 0x100;
        mb();
-       while (!(custom.serdatr & 0x2000))
+       while (!(amiga_custom.serdatr & 0x2000))
                barrier();
        return 1;
 }
@@ -586,11 +569,11 @@ unsigned char __debug_ser_in( void )
        unsigned char c;
 
        /* XXX: is that ok?? derived from amiga_ser.c... */
-       while( !(custom.intreqr & IF_RBF) )
+       while( !(amiga_custom.intreqr & IF_RBF) )
                barrier();
-       c = custom.serdatr;
+       c = amiga_custom.serdatr;
        /* clear the interrupt, so that another character can be read */
-       custom.intreq = IF_RBF;
+       amiga_custom.intreq = IF_RBF;
        return c;
 }
 
@@ -601,10 +584,10 @@ int __debug_serinit( void )
        local_irq_save(flags);
 
        /* turn off Rx and Tx interrupts */
-       custom.intena = IF_RBF | IF_TBE;
+       amiga_custom.intena = IF_RBF | IF_TBE;
 
        /* clear any pending interrupt */
-       custom.intreq = IF_RBF | IF_TBE;
+       amiga_custom.intreq = IF_RBF | IF_TBE;
 
        local_irq_restore(flags);
 
@@ -617,7 +600,7 @@ int __debug_serinit( void )
 
 #ifdef CONFIG_KGDB
        /* turn Rx interrupts on for GDB */
-       custom.intena = IF_SETCLR | IF_RBF;
+       amiga_custom.intena = IF_SETCLR | IF_RBF;
        ser_RTSon();
 #endif
 
@@ -750,9 +733,9 @@ void apus_init_IRQ(void)
        for ( i = 0 ; i < AMI_IRQS; i++ ) {
                irq_desc[i].status = IRQ_LEVEL;
                if (i < IRQ_AMIGA_AUTO) {
-                       irq_desc[i].handler = &amiga_irqctrl;
+                       irq_desc[i].chip = &amiga_irqctrl;
                } else {
-                       irq_desc[i].handler = &amiga_sys_irqctrl;
+                       irq_desc[i].chip = &amiga_sys_irqctrl;
                        action = &amiga_sys_irqaction[i-IRQ_AMIGA_AUTO];
                        if (action->name)
                                setup_irq(i, action);