#ifndef W83977AF_H #define W83977AF_H #define W977_EFIO_BASE 0x370 #define W977_EFIO2_BASE 0x3f0 #define W977_DEVICE_IR 0x06 /* * Enter extended function mode */ static inline void w977_efm_enter(unsigned int efio) { outb(0x87, efio); outb(0x87, efio); } /* * Select a device to configure */ static inline void w977_select_device(__u8 devnum, unsigned int efio) { outb(0x07, efio); outb(devnum, efio+1); } /* * Write a byte to a register */ static inline void w977_write_reg(__u8 reg, __u8 value, unsigned int efio) { outb(reg, efio); outb(value, efio+1); } /* * read a byte from a register */ static inline __u8 w977_read_reg(__u8 reg, unsigned int efio) { outb(reg, efio); return inb(efio+1); } /* * Exit extended function mode */ static inline void w977_efm_exit(unsigned int efio) { outb(0xAA, efio); } #endif