X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ppc%2Fhardirq.h;h=2531c3bdb5bfa9257e58d9cf9c616b3082f3b5d1;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=8f4f12a46f7435259f76731bd4ee24bab90b8c12;hpb=c449269f45c2cdf53af08c8d0af37472f66539d9;p=linux-2.6.git diff --git a/include/asm-ppc/hardirq.h b/include/asm-ppc/hardirq.h index 8f4f12a46..2531c3bdb 100644 --- a/include/asm-ppc/hardirq.h +++ b/include/asm-ppc/hardirq.h @@ -83,11 +83,15 @@ typedef struct { #ifdef CONFIG_PREEMPT # define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked()) +# define preemptible() (preempt_count() == 0 && !irqs_disabled()) # define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) + #else # define in_atomic() (preempt_count() != 0) +# define preemptible() 0 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET #endif + #define irq_exit() \ do { \ preempt_count() -= IRQ_EXIT_OFFSET; \