[MIPS] TXx9: cleanup and fix some sparse warnings
[linux-2.6.git] / arch / mips / txx9 / jmr3927 / setup.c
index baa8c8d..5e35ef7 100644 (file)
 #include <linux/delay.h>
 #include <linux/pm.h>
 #include <linux/platform_device.h>
-#include <linux/clk.h>
 #include <linux/gpio.h>
 #ifdef CONFIG_SERIAL_TXX9
 #include <linux/serial_core.h>
 #endif
-
 #include <asm/txx9tmr.h>
 #include <asm/txx9pio.h>
 #include <asm/reboot.h>
+#include <asm/txx9/generic.h>
 #include <asm/txx9/pci.h>
 #include <asm/txx9/jmr3927.h>
 #include <asm/mipsregs.h>
@@ -83,7 +82,7 @@ static void jmr3927_machine_power_off(void)
        while (1);
 }
 
-void __init plat_time_init(void)
+static void __init jmr3927_time_init(void)
 {
        txx9_clockevent_init(TX3927_TMR_REG(0),
                             TXX9_IRQ_BASE + JMR3927_IRQ_IRC_TMR(0),
@@ -94,10 +93,9 @@ void __init plat_time_init(void)
 #define DO_WRITE_THROUGH
 #define DO_ENABLE_CACHE
 
-extern char * __init prom_getcmdline(void);
 static void jmr3927_board_init(void);
 
-void __init plat_mem_setup(void)
+static void __init jmr3927_mem_setup(void)
 {
        char *argptr;
 
@@ -233,6 +231,8 @@ static void __init tx3927_setup(void)
 {
        int i;
 
+       txx9_cpu_clock = JMR3927_CORECLK;
+       txx9_gbus_clock = JMR3927_GBUSCLK;
        /* SDRAMC are configured by PROM */
 
        /* ROMC */
@@ -312,7 +312,7 @@ static void __init tx3927_setup(void)
 }
 
 /* This trick makes rtc-ds1742 driver usable as is. */
-unsigned long __swizzle_addr_b(unsigned long port)
+static unsigned long jmr3927_swizzle_addr_b(unsigned long port)
 {
        if ((port & 0xffff0000) != JMR3927_IOC_NVRAMB_ADDR)
                return port;
@@ -323,7 +323,6 @@ unsigned long __swizzle_addr_b(unsigned long port)
        return port | 1;
 #endif
 }
-EXPORT_SYMBOL(__swizzle_addr_b);
 
 static int __init jmr3927_rtc_init(void)
 {
@@ -336,7 +335,6 @@ static int __init jmr3927_rtc_init(void)
        dev = platform_device_register_simple("rtc-ds1742", -1, &res, 1);
        return IS_ERR(dev) ? PTR_ERR(dev) : 0;
 }
-device_initcall(jmr3927_rtc_init);
 
 /* Watchdog support */
 
@@ -356,36 +354,22 @@ static int __init jmr3927_wdt_init(void)
 {
        return txx9_wdt_init(TX3927_TMR_REG(2));
 }
-device_initcall(jmr3927_wdt_init);
-
-/* Minimum CLK support */
-
-struct clk *clk_get(struct device *dev, const char *id)
-{
-       if (!strcmp(id, "imbus_clk"))
-               return (struct clk *)JMR3927_IMCLK;
-       return ERR_PTR(-ENOENT);
-}
-EXPORT_SYMBOL(clk_get);
-
-int clk_enable(struct clk *clk)
-{
-       return 0;
-}
-EXPORT_SYMBOL(clk_enable);
 
-void clk_disable(struct clk *clk)
+static void __init jmr3927_device_init(void)
 {
+       __swizzle_addr_b = jmr3927_swizzle_addr_b;
+       jmr3927_rtc_init();
+       jmr3927_wdt_init();
 }
-EXPORT_SYMBOL(clk_disable);
 
-unsigned long clk_get_rate(struct clk *clk)
-{
-       return (unsigned long)clk;
-}
-EXPORT_SYMBOL(clk_get_rate);
-
-void clk_put(struct clk *clk)
-{
-}
-EXPORT_SYMBOL(clk_put);
+struct txx9_board_vec jmr3927_vec __initdata = {
+       .system = "Toshiba JMR_TX3927",
+       .prom_init = jmr3927_prom_init,
+       .mem_setup = jmr3927_mem_setup,
+       .irq_setup = jmr3927_irq_setup,
+       .time_init = jmr3927_time_init,
+       .device_init = jmr3927_device_init,
+#ifdef CONFIG_PCI
+       .pci_map_irq = jmr3927_pci_map_irq,
+#endif
+};