1 #ifndef _VBUTIL_
2 #define _VBUTIL_
xgifb_reg_set(unsigned long port,u8 index,u8 data)3 static inline void xgifb_reg_set(unsigned long port, u8 index, u8 data)
4 {
5 outb(index, port);
6 outb(data, port + 1);
7 }
8
xgifb_reg_get(unsigned long port,u8 index)9 static inline u8 xgifb_reg_get(unsigned long port, u8 index)
10 {
11 outb(index, port);
12 return inb(port + 1);
13 }
14
xgifb_reg_and_or(unsigned long port,u8 index,unsigned data_and,unsigned data_or)15 static inline void xgifb_reg_and_or(unsigned long port, u8 index,
16 unsigned data_and, unsigned data_or)
17 {
18 u8 temp;
19
20 temp = xgifb_reg_get(port, index);
21 temp = (u8) ((temp & data_and) | data_or);
22 xgifb_reg_set(port, index, temp);
23 }
24
xgifb_reg_and(unsigned long port,u8 index,unsigned data_and)25 static inline void xgifb_reg_and(unsigned long port, u8 index, unsigned data_and)
26 {
27 u8 temp;
28
29 temp = xgifb_reg_get(port, index);
30 temp = (u8) (temp & data_and);
31 xgifb_reg_set(port, index, temp);
32 }
33
xgifb_reg_or(unsigned long port,u8 index,unsigned data_or)34 static inline void xgifb_reg_or(unsigned long port, u8 index, unsigned data_or)
35 {
36 u8 temp;
37
38 temp = xgifb_reg_get(port, index);
39 temp |= data_or;
40 xgifb_reg_set(port, index, temp);
41 }
42 #endif
43
44