[MIPS] Sibyte: Finish conversion to modern time APIs.
[linux-2.6.git] / arch / mips / sibyte / sb1250 / smp.c
index be91b39..aaa4f30 100644 (file)
 #include <asm/sibyte/sb1250_int.h>
 
 static void *mailbox_set_regs[] = {
-       (void *)IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_SET_CPU),
-       (void *)IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_SET_CPU)
+       IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_SET_CPU),
+       IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_SET_CPU)
 };
 
 static void *mailbox_clear_regs[] = {
-       (void *)IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_CLR_CPU),
-       (void *)IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_CLR_CPU)
+       IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_CLR_CPU),
+       IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_CLR_CPU)
 };
 
 static void *mailbox_regs[] = {
-       (void *)IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_CPU),
-       (void *)IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_CPU)
+       IOADDR(A_IMR_CPU0_BASE + R_IMR_MAILBOX_CPU),
+       IOADDR(A_IMR_CPU1_BASE + R_IMR_MAILBOX_CPU)
 };
 
 /*
@@ -57,8 +57,9 @@ void sb1250_smp_init(void)
 
 void sb1250_smp_finish(void)
 {
-       extern void sb1250_time_init(void);
-       sb1250_time_init();
+       extern void sb1250_clockevent_init(void);
+
+       sb1250_clockevent_init();
        local_irq_enable();
 }
 
@@ -73,20 +74,20 @@ void sb1250_smp_finish(void)
  */
 void core_send_ipi(int cpu, unsigned int action)
 {
-       bus_writeq((((u64)action) << 48), mailbox_set_regs[cpu]);
+       __raw_writeq((((u64)action) << 48), mailbox_set_regs[cpu]);
 }
 
-void sb1250_mailbox_interrupt(struct pt_regs *regs)
+void sb1250_mailbox_interrupt(void)
 {
        int cpu = smp_processor_id();
        unsigned int action;
 
        kstat_this_cpu.irqs[K_INT_MBOX_0]++;
        /* Load the mailbox register to figure out what we're supposed to do */
-       action = (__bus_readq(mailbox_regs[cpu]) >> 48) & 0xffff;
+       action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff;
 
        /* Clear the mailbox to clear the interrupt */
-       __bus_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]);
+       ____raw_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]);
 
        /*
         * Nothing to do for SMP_RESCHEDULE_YOURSELF; returning from the