]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/staging/xgifb/vb_util.h
Merge remote-tracking branches 'asoc/fix/fsl-mxs-saif' and 'asoc/fix/sunxi' into...
[mirror_ubuntu-artful-kernel.git] / drivers / staging / xgifb / vb_util.h
1 #ifndef _VBUTIL_
2 #define _VBUTIL_
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
9 static inline u8 xgifb_reg_get(unsigned long port, u8 index)
10 {
11 outb(index, port);
12 return inb(port + 1);
13 }
14
15 static inline void xgifb_reg_and_or(unsigned long port, u8 index,
16 unsigned int data_and, unsigned int 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
25 static inline void xgifb_reg_and(unsigned long port, u8 index,
26 unsigned int data_and)
27 {
28 u8 temp;
29
30 temp = xgifb_reg_get(port, index);
31 temp = (u8)(temp & data_and);
32 xgifb_reg_set(port, index, temp);
33 }
34
35 static inline void xgifb_reg_or(unsigned long port, u8 index,
36 unsigned int data_or)
37 {
38 u8 temp;
39
40 temp = xgifb_reg_get(port, index);
41 temp |= data_or;
42 xgifb_reg_set(port, index, temp);
43 }
44 #endif
45