X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=arch%2Farc%2Fkernel%2Fmcip.c;h=e18d36eb0af60b55a1991fd6267cf5a18b960503;hb=f33e9c434b8ce833bd3dd39436bd0799c3e1d1c5;hp=d9e44b62df05d81a31305048aa91290784980e9d;hpb=efe4d36a75d4dfd1a9c161b2bbf9b90beb4d9648;p=karo-tx-linux.git diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c index d9e44b62df05..e18d36eb0af6 100644 --- a/arch/arc/kernel/mcip.c +++ b/arch/arc/kernel/mcip.c @@ -12,6 +12,7 @@ #include #include #include +#include static char smp_cpuinfo_buf[128]; static int idu_detected; @@ -96,34 +97,14 @@ static void mcip_ipi_clear(int irq) #endif } -volatile int wake_flag; - -static void mcip_wakeup_cpu(int cpu, unsigned long pc) -{ - BUG_ON(cpu == 0); - wake_flag = cpu; -} - -void arc_platform_smp_wait_to_boot(int cpu) -{ - while (wake_flag != cpu) - ; - - wake_flag = 0; - __asm__ __volatile__("j @first_lines_of_secondary \n"); -} - struct plat_smp_ops plat_smp_ops = { .info = smp_cpuinfo_buf, - .cpu_kick = mcip_wakeup_cpu, .ipi_send = mcip_ipi_send, .ipi_clear = mcip_ipi_clear, }; void mcip_init_early_smp(void) { -#define IS_AVAIL1(var, str) ((var) ? str : "") - struct mcip_bcr { #ifdef CONFIG_CPU_BIG_ENDIAN unsigned int pad3:8, @@ -252,7 +233,7 @@ static struct irq_chip idu_irq_chip = { static int idu_first_irq; -static void idu_cascade_isr(unsigned int __core_irq, struct irq_desc *desc) +static void idu_cascade_isr(struct irq_desc *desc) { struct irq_domain *domain = irq_desc_get_handler_data(desc); unsigned int core_irq = irq_desc_get_irq(desc);