This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / arm / mach-h720x / cpu-h7202.c
index 4b6968e..ee7abcd 100644 (file)
@@ -23,8 +23,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
 #include <linux/device.h>
-#include <linux/serial_8250.h>
-#include "common.h"
 
 static struct resource h7202ps2_resources[] = {
        [0] = {
@@ -46,55 +44,13 @@ static struct platform_device h7202ps2_device = {
        .resource       = h7202ps2_resources,
 };
 
-static struct plat_serial8250_port serial_platform_data[] = {
-       {
-               .membase        = SERIAL0_BASE,
-               .irq            = IRQ_UART0,
-               .uartclk        = 2*1843200,
-               .regshift       = 2,
-               .iotype         = UPIO_MEM,
-               .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
-       },
-       {
-               .membase        = SERIAL1_BASE,
-               .irq            = IRQ_UART1,
-               .uartclk        = 2*1843200,
-               .regshift       = 2,
-               .iotype         = UPIO_MEM,
-               .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
-       },
-       {
-               .membase        = SERIAL2_BASE,
-               .irq            = IRQ_UART2,
-               .uartclk        = 2*1843200,
-               .regshift       = 2,
-               .iotype         = UPIO_MEM,
-               .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
-       },
-       {
-               .membase        = SERIAL3_BASE,
-               .irq            = IRQ_UART3,
-               .uartclk        = 2*1843200,
-               .regshift       = 2,
-               .iotype         = UPIO_MEM,
-               .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
-       },
-       { },
-};
-
-static struct platform_device serial_device = {
-       .name                   = "serial8250",
-       .id                     = 0,
-       .dev                    = {
-               .platform_data  = serial_platform_data,
-       },
-};
-
 static struct platform_device *devices[] __initdata = {
        &h7202ps2_device,
-       &serial_device,
 };
 
+extern unsigned long h720x_gettimeoffset(void);
+extern void __init h720x_init_irq (void);
+
 /* Although we have two interrupt lines for the timers, we only have one
  * status register which clears all pending timer interrupts on reading. So
  * we have to handle all timer interrupts in one place.
@@ -108,9 +64,7 @@ h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc,
        mask = CPU_REG (TIMER_VIRT, TIMER_TOPSTAT);
 
        if ( mask & TSTAT_T0INT ) {
-               write_seqlock(&xtime_lock);
                timer_tick(regs);
-               write_sequnlock(&xtime_lock);
                if( mask == TSTAT_T0INT )
                        return;
        }
@@ -174,6 +128,8 @@ static struct irqaction h7202_timer_irq = {
  */
 void __init h7202_init_time(void)
 {
+       gettimeoffset = h720x_gettimeoffset;
+
        CPU_REG (TIMER_VIRT, TM0_PERIOD) = LATCH;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_RESET;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_REPEAT | TM_START;
@@ -182,11 +138,6 @@ void __init h7202_init_time(void)
        setup_irq(IRQ_TIMER0, &h7202_timer_irq);
 }
 
-struct sys_timer h7202_timer = {
-       .init           = h7202_init_time,
-       .offset         = h720x_gettimeoffset,
-};
-
 void __init h7202_init_irq (void)
 {
        int     irq;