powerpc: call_do_[soft]irq() takes a pointer to the stack
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 17 Jan 2019 12:17:56 +0000 (23:17 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 23 Feb 2019 11:31:40 +0000 (22:31 +1100)
The purpose of the pointer given to call_do_softirq() and
call_do_irq() is to point the new stack. Currently that's the same
thing as the thread_info, but won't be with THREAD_INFO_IN_TASK.

So change the parameter to void* and rename it 'sp'.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Split out of larger patch]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/irq.h
arch/powerpc/kernel/misc_32.S

index ee39ce56b2a20e3e812c70fba56d188c109fce85..2efbae8d93be0b01158ca05bb644a63c1fc295a3 100644 (file)
@@ -63,8 +63,8 @@ extern struct thread_info *hardirq_ctx[NR_CPUS];
 extern struct thread_info *softirq_ctx[NR_CPUS];
 
 extern void irq_ctx_init(void);
-extern void call_do_softirq(struct thread_info *tp);
-extern void call_do_irq(struct pt_regs *regs, struct thread_info *tp);
+void call_do_softirq(void *sp);
+void call_do_irq(struct pt_regs *regs, void *sp);
 extern void do_IRQ(struct pt_regs *regs);
 extern void __init init_IRQ(void);
 extern void __do_irq(struct pt_regs *regs);
index 02b8cdd73792b34bd89bc8eb878f6654f0ae71a9..242f0c88010ec96be11b0ca43cd562323c9830d3 100644 (file)
@@ -60,7 +60,7 @@ _GLOBAL(call_do_softirq)
        blr
 
 /*
- * void call_do_irq(struct pt_regs *regs, struct thread_info *irqtp);
+ * void call_do_irq(struct pt_regs *regs, void *sp);
  */
 _GLOBAL(call_do_irq)
        mflr    r0