Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / mips / au1000 / common / setup.c
index dbc8b1b..307e98c 100644 (file)
@@ -32,6 +32,8 @@
 #include <linux/mm.h>
 #include <linux/delay.h>
 #include <linux/interrupt.h>
+#include <linux/module.h>
+#include <linux/pm.h>
 
 #include <asm/cpu.h>
 #include <asm/bootinfo.h>
@@ -57,7 +59,7 @@ extern void au1xxx_time_init(void);
 extern void au1xxx_timer_setup(struct irqaction *irq);
 extern void set_cpuspec(void);
 
-static int __init au1x00_setup(void)
+void __init plat_setup(void)
 {
        struct  cpu_spec *sp;
        char *argptr;
@@ -88,16 +90,16 @@ static int __init au1x00_setup(void)
        else {
                /* Clear to obtain best system bus performance */
                clear_c0_config(1<<19); /* Clear Config[OD] */
-       }
+       }
 
        argptr = prom_getcmdline();
 
-#ifdef CONFIG_SERIAL_AU1X00_CONSOLE
+#ifdef CONFIG_SERIAL_8250_CONSOLE
        if ((argptr = strstr(argptr, "console=")) == NULL) {
                argptr = prom_getcmdline();
                strcat(argptr, " console=ttyS0,115200");
        }
-#endif   
+#endif
 
 #ifdef CONFIG_FB_AU1100
     if ((argptr = strstr(argptr, "video=")) == NULL) {
@@ -106,23 +108,10 @@ static int __init au1x00_setup(void)
         /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
 #ifdef CONFIG_MIPS_HYDROGEN3
          strcat(argptr, " video=au1100fb:panel:Hydrogen_3_NEC_panel_320x240,nohwcursor");
-#else
-        strcat(argptr, " video=au1100fb:panel:s10,nohwcursor");
 #endif
     }
 #endif
 
-#ifdef CONFIG_FB_E1356
-       if ((argptr = strstr(argptr, "video=")) == NULL) {
-               argptr = prom_getcmdline();
-#ifdef CONFIG_MIPS_PB1000
-               strcat(argptr, " video=e1356fb:system:pb1000,mmunalign:1");
-#else
-               strcat(argptr, " video=e1356fb:system:pb1500");
-#endif
-       }
-#endif
-
 #ifdef CONFIG_FB_XPERT98
        if ((argptr = strstr(argptr, "video=")) == NULL) {
                argptr = prom_getcmdline();
@@ -137,7 +126,7 @@ static int __init au1x00_setup(void)
 #endif
        _machine_restart = au1000_restart;
        _machine_halt = au1000_halt;
-       _machine_power_off = au1000_power_off;
+       pm_power_off = au1000_power_off;
        board_time_init = au1xxx_time_init;
        board_timer_setup = au1xxx_timer_setup;
 
@@ -153,15 +142,11 @@ static int __init au1x00_setup(void)
        au_sync();
        while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_T0S);
        au_writel(0, SYS_TOYTRIM);
-
-       return 0;
 }
 
-early_initcall(au1x00_setup);
-
 #if defined(CONFIG_64BIT_PHYS_ADDR)
 /* This routine should be valid for all Au1x based boards */
-phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size)
+phys_t __fixup_bigphys_addr(phys_t phys_addr, phys_t size)
 {
        u32 start, end;
 
@@ -192,4 +177,5 @@ phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size)
        /* default nop */
        return phys_addr;
 }
+EXPORT_SYMBOL(__fixup_bigphys_addr);
 #endif