]> Pileus Git - ~andy/linux/blobdiff - arch/blackfin/mach-bf561/smp.c
bf561: add capabilities in adv7183_inputs
[~andy/linux] / arch / blackfin / mach-bf561 / smp.c
index db22401e760589f59834302423bbca6cc9466855..ab1c617b9cfc9e646b4366e8fa34bd8c058defa1 100644 (file)
@@ -84,7 +84,7 @@ int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle
 
        if ((bfin_read_SYSCR() & COREB_SRAM_INIT) == 0) {
                /* CoreB already running, sending ipi to wakeup it */
-               platform_send_ipi_cpu(cpu, IRQ_SUPPLE_0);
+               smp_send_reschedule(cpu);
        } else {
                /* Kick CoreB, which should start execution from CORE_SRAM_BASE. */
                bfin_write_SYSCR(bfin_read_SYSCR() & ~COREB_SRAM_INIT);
@@ -114,7 +114,8 @@ void __init platform_request_ipi(int irq, void *handler)
        int ret;
        const char *name = (irq == IRQ_SUPPLE_0) ? supple0 : supple1;
 
-       ret = request_irq(irq, handler, IRQF_PERCPU, name, handler);
+       ret = request_irq(irq, handler, IRQF_PERCPU | IRQF_NO_SUSPEND |
+                       IRQF_FORCE_RESUME, name, handler);
        if (ret)
                panic("Cannot request %s for IPI service", name);
 }