Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: idle: Remove leftover __pastwait symbol and its references

The __pastwait symbol was only used by the address_is_in_r4k_wait_irqoff
function but this is no longer used since the SMTC removal in commit
b633648c5ad3 ('MIPS: MT: Remove SMTC support'). That symbol also led to
build failures under certain random configuration due to the way the
compiler compiled the r4k_wait_irqoff function. If that function was
called multiple times, the __pastwait symbol was redefined breaking the
build like this:

CHK include/generated/compile.h
CC arch/mips/kernel/idle.o
{standard input}: Assembler messages:
{standard input}:527: Error: symbol `__pastwait' is already defined

Link: http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1244879922.24479.30.camel%40falcon
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: https://patchwork.linux-mips.org/patch/7791/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Markos Chandras and committed by
Ralf Baechle
9d26024c 3d1f9dda

-10
-7
arch/mips/include/asm/idle.h
··· 8 8 extern void r4k_wait(void); 9 9 extern asmlinkage void __r4k_wait(void); 10 10 extern void r4k_wait_irqoff(void); 11 - extern void __pastwait(void); 12 11 13 12 static inline int using_rollback_handler(void) 14 13 { 15 14 return cpu_wait == r4k_wait; 16 - } 17 - 18 - static inline int address_is_in_r4k_wait_irqoff(unsigned long addr) 19 - { 20 - return addr >= (unsigned long)r4k_wait_irqoff && 21 - addr < (unsigned long)__pastwait; 22 15 } 23 16 24 17 extern int mips_cpuidle_wait_enter(struct cpuidle_device *dev,
-3
arch/mips/kernel/idle.c
··· 68 68 " wait \n" 69 69 " .set pop \n"); 70 70 local_irq_enable(); 71 - __asm__( 72 - " .globl __pastwait \n" 73 - "__pastwait: \n"); 74 71 } 75 72 76 73 /*