This source file includes following definitions.
- mark_bh
- disable_bh
- enable_bh
1
2 #ifndef _LINUX_INTERRUPT_H
3 #define _LINUX_INTERRUPT_H
4
5 struct bh_struct {
6 void (*routine)(void *);
7 void *data;
8 };
9
10 extern unsigned long bh_active;
11 extern unsigned long bh_mask;
12 extern struct bh_struct bh_base[32];
13
14
15
16 enum {
17 TIMER_BH = 0,
18 CONSOLE_BH,
19 SERIAL_BH,
20 TTY_BH,
21 INET_BH,
22 KEYBOARD_BH
23 };
24
25 extern inline void mark_bh(int nr)
26 {
27 __asm__ __volatile__("btsl %1,%0":"=m" (bh_active):"ir" (nr));
28 }
29
30 extern inline void disable_bh(int nr)
31 {
32 __asm__ __volatile__("btcl %1,%0":"=m" (bh_mask):"ir" (nr));
33 }
34
35 extern inline void enable_bh(int nr)
36 {
37 __asm__ __volatile__("btsl %1,%0":"=m" (bh_mask):"ir" (nr));
38 }
39
40 #endif