Blackfin: SMP: tweak platform_request_ipi() usage
Graf Yang [Mon, 21 Sep 2009 11:51:31 +0000 (11:51 +0000)]
This function takes an irq_handler_t function, but the prototype in
the header doesn't match the function definition.  This is due to the
smp headers needing to avoid circular dependencies.  So change the
function to take a simple pointer.

Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

arch/blackfin/mach-bf561/include/mach/smp.h
arch/blackfin/mach-bf561/smp.c
arch/blackfin/mach-common/smp.c

index 2c8c514..70cafb9 100644 (file)
@@ -7,6 +7,8 @@
 #ifndef _MACH_BF561_SMP
 #define _MACH_BF561_SMP
 
+/* This header has to stand alone to avoid circular deps */
+
 struct task_struct;
 
 void platform_init_cpus(void);
@@ -17,7 +19,7 @@ int platform_boot_secondary(unsigned int cpu, struct task_struct *idle);
 
 void platform_secondary_init(unsigned int cpu);
 
-void platform_request_ipi(int (*handler)(int, void *));
+void platform_request_ipi(/*irq_handler_t*/ void *handler);
 
 void platform_send_ipi(cpumask_t callmap);
 
index be6083a..1a19fad 100644 (file)
@@ -111,7 +111,7 @@ int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle
                panic("CPU%u: processor failed to boot\n", cpu);
 }
 
-void __init platform_request_ipi(irq_handler_t handler)
+void __init platform_request_ipi(void *handler)
 {
        int ret;
 
index 06d6dda..930608d 100644 (file)
@@ -441,7 +441,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
 {
        platform_prepare_cpus(max_cpus);
        ipi_queue_init();
-       platform_request_ipi(&ipi_handler);
+       platform_request_ipi(ipi_handler);
 }
 
 void __init smp_cpus_done(unsigned int max_cpus)