1#ifndef W83977AF_H
2#define W83977AF_H
3
4#define W977_EFIO_BASE 0x370
5#define W977_EFIO2_BASE 0x3f0
6#define W977_DEVICE_IR 0x06
7
8
9
10
11
12static inline void w977_efm_enter(unsigned int efio)
13{
14 outb(0x87, efio);
15 outb(0x87, efio);
16}
17
18
19
20
21
22static inline void w977_select_device(__u8 devnum, unsigned int efio)
23{
24 outb(0x07, efio);
25 outb(devnum, efio+1);
26}
27
28
29
30
31static inline void w977_write_reg(__u8 reg, __u8 value, unsigned int efio)
32{
33 outb(reg, efio);
34 outb(value, efio+1);
35}
36
37
38
39
40static inline __u8 w977_read_reg(__u8 reg, unsigned int efio)
41{
42 outb(reg, efio);
43 return inb(efio+1);
44}
45
46
47
48
49static inline void w977_efm_exit(unsigned int efio)
50{
51 outb(0xAA, efio);
52}
53#endif
54