Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier...
[cascardo/linux.git] / arch / blackfin / mach-bf561 / smp.c
index 1074a7e..7b07740 100644 (file)
@@ -30,18 +30,11 @@ void __init platform_init_cpus(void)
 
 void __init platform_prepare_cpus(unsigned int max_cpus)
 {
-       int len;
-
-       len = &coreb_trampoline_end - &coreb_trampoline_start + 1;
-       BUG_ON(len > L1_CODE_LENGTH);
-
-       dma_memcpy((void *)COREB_L1_CODE_START, &coreb_trampoline_start, len);
+       bfin_relocate_coreb_l1_mem();
 
        /* Both cores ought to be present on a bf561! */
        cpu_set(0, cpu_present_map); /* CoreA */
        cpu_set(1, cpu_present_map); /* CoreB */
-
-       printk(KERN_INFO "CoreB bootstrap code to SRAM %p via DMA.\n", (void *)COREB_L1_CODE_START);
 }
 
 int __init setup_profiling_timer(unsigned int multiplier) /* not supported */
@@ -161,9 +154,13 @@ void platform_clear_ipi(unsigned int cpu, int irq)
 void __cpuinit bfin_local_timer_setup(void)
 {
 #if defined(CONFIG_TICKSOURCE_CORETMR)
+       struct irq_data *data = irq_get_irq_data(IRQ_CORETMR);
+       struct irq_chip *chip = irq_data_get_irq_chip(data);
+
        bfin_coretmr_init();
        bfin_coretmr_clockevent_init();
-       get_irq_chip(IRQ_CORETMR)->unmask(IRQ_CORETMR);
+
+       chip->irq_unmask(data);
 #else
        /* Power down the core timer, just to play safe. */
        bfin_write_TCNTL(0);