Re: [PATCH 1/4] Blackfin: arch patch for 2.6.18

Bernd Schmidt
2006-09-28T09:32:03Z

Arnd Bergmann wrote:

> static inline void local_irq_enable(void)
> {
> unsigned long unused_flags;
> asm volatile ("sti %0;" : : "d" (unused_flags));
> }
>
> That completely avoids all the problems you might hit with macro expansion,
> while still compiling to the same code.

The operand is an input, not an output. We want to restore the proper
mask of enabled interrupts with the STI. That mask is in the global
irq_flags variable (which probably ought to have a different name that
doesn't invite clashes).

Bernd