Rev 2003 | Rev 5272 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2003 | Rev 3031 | ||
---|---|---|---|
Line 29... | Line 29... | ||
29 | 29 | ||
30 | #define __LOCK_BH(lock) \ |
30 | #define __LOCK_BH(lock) \ |
Line 31... | Line 31... | ||
31 | do { local_bh_disable(); __LOCK(lock); } while (0) |
31 | do { local_bh_disable(); __LOCK(lock); } while (0) |
32 | 32 | ||
Line 33... | Line 33... | ||
33 | #define __LOCK_IRQ(lock) \ |
33 | #define __LOCK_IRQ(lock) \ |
34 | do { local_irq_disable(); __LOCK(lock); } while (0) |
34 | do { asm volatile ("cli \n"); __LOCK(lock); } while (0) |
35 | 35 | ||
36 | #define __LOCK_IRQSAVE(lock, flags) \ |
36 | #define __LOCK_IRQSAVE(lock, flags) \ |
Line 49... | Line 49... | ||
49 | #define __UNLOCK_BH(lock) \ |
49 | #define __UNLOCK_BH(lock) \ |
50 | do { preempt_enable_no_resched(); local_bh_enable(); \ |
50 | do { preempt_enable_no_resched(); local_bh_enable(); \ |
51 | __release(lock); (void)(lock); } while (0) |
51 | __release(lock); (void)(lock); } while (0) |
Line 52... | Line 52... | ||
52 | 52 | ||
53 | #define __UNLOCK_IRQ(lock) \ |
53 | #define __UNLOCK_IRQ(lock) \ |
Line 54... | Line 54... | ||
54 | do { local_irq_enable(); __UNLOCK(lock); } while (0) |
54 | do { asm volatile ("sti \n"); __UNLOCK(lock); } while (0) |
55 | 55 | ||
56 | #define __UNLOCK_IRQRESTORE(lock, flags) \ |
56 | #define __UNLOCK_IRQRESTORE(lock, flags) \ |
57 | do { \ |
57 | do { \ |