linux/drivers/net/irda/w83977af.h
<<
>>
Prefs
   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 * Enter extended function mode
  11 */
  12static inline void w977_efm_enter(unsigned int efio)
  13{
  14        outb(0x87, efio);
  15        outb(0x87, efio);
  16}
  17
  18/*
  19 * Select a device to configure 
  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 * Write a byte to a register
  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 * read a byte from a register
  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 * Exit extended function mode
  48 */
  49static inline void w977_efm_exit(unsigned int efio)
  50{
  51        outb(0xAA, efio);
  52}
  53#endif
  54