ia64: fix halt build fallout from deeper C state support.
PATCH 1/1 ia64: fix halt build fallout from deeper C state support.
Commit 1a022e3f1be11730bd8747b1af96a0274bf6356e
"idle, x86: Allow off-lined CPU to enter deeper C states"
causes ia64 defconfig to fail with:
drivers/acpi/processor_idle.c:789:4: error: implicit declaration of function 'halt' [-Werror=implicit-function-declaration]
For i386 we have:
halt
--> native_halt --> asm hlt
arch_safe_halt
--> native_safe_halt --> asm sti; hlt
On ia64, we just have:
arch_safe_halt
--> ia64_pal_halt_light
but there is no equivalent to just plain "halt"
The comments for ia64_pal_halt_light in arch/ia64/include/asm/pal.h indicate:
Cause the processor to enter LIGHT HALT state, where prefetching and execution are suspended, but cache and TLB coherency is maintained.
Based on that, it seems reasonable to make halt point to that.
---
[Tony - I dont know enough about ia64 to be sure this makes sense,
so feel free to junk this patch and treat the mail as just a build failure regression report if there is a better fix.]
arch/ia64/include/asm/irqflags.h +4 -0
@@ -92,5 +92,9 @@ static inline void arch_safe_halt(void) ia64_pal_halt_light(); /* PAL_HALT_LIGHT */ } +static inline void halt (void ) +{ +arch_safe_halt (); +}#endif /* _ASM_IA64_IRQFLAGS_H */
Signature · 1 line
1.7.9.1
Quoted 3 lines
[Tony - I dont know enough about ia64 to be sure this makes sense, so feel free to junk this patch and treat the mail as just a build failure regression report if there is a better fix.]
Paul,
It makes sense - but we are going with an alternate fix of making the ACPI code use "safe_halt()" rather than just "halt()". Thanks for taking the time to research and code up a fix though.
Hopefully Len will push that to Linus real-soon-now (hint, hint).
-Tony