alpha: fix breakage caused by df9ee29270
Commitdf9ee29270
made arch_local_irq_save and arch_local_irq_restore static inline which with -Werror trips up on __set_hae() and _set_hae() which are extern inline. The naive solution is to make __set_hae() and set_hae() static inline but for reasons described in commitd559d4a24a
this breaks the generic kernel build. Instead, since this is architecture specific code, this patch hard wires in the architecture specific method f disabling and enabling interrupts. Tested-by: Michael Cree <mcree@orcon.net.nz> Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
00649643b1
commit
e2609f6aa2
@ -37,8 +37,9 @@
|
||||
*/
|
||||
extern inline void __set_hae(unsigned long new_hae)
|
||||
{
|
||||
unsigned long flags;
|
||||
local_irq_save(flags);
|
||||
unsigned long flags = swpipl(IPL_MAX);
|
||||
|
||||
barrier();
|
||||
|
||||
alpha_mv.hae_cache = new_hae;
|
||||
*alpha_mv.hae_register = new_hae;
|
||||
@ -46,7 +47,8 @@ extern inline void __set_hae(unsigned long new_hae)
|
||||
/* Re-read to make sure it was written. */
|
||||
new_hae = *alpha_mv.hae_register;
|
||||
|
||||
local_irq_restore(flags);
|
||||
setipl(flags);
|
||||
barrier();
|
||||
}
|
||||
|
||||
extern inline void set_hae(unsigned long new_hae)
|
||||
|
Loading…
Reference in New Issue
Block a user