patch-2.3.35 linux/include/net/irda/w83977af.h

Next file: linux/include/net/irda/wrapper.h
Previous file: linux/include/net/irda/smc-ircc.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.34/linux/include/net/irda/w83977af.h linux/include/net/irda/w83977af.h
@@ -1,54 +1,53 @@
 #ifndef W83977AF_H
 #define W83977AF_H
 
-#define W977_EFER 0x370
-#define W977_EFIR 0x370
-#define W977_EFDR 0x371
+#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(void)
+static inline void w977_efm_enter(unsigned int efio)
 {
-        outb(0x87, W977_EFER);
-        outb(0x87, W977_EFER);
+        outb(0x87, efio);
+        outb(0x87, efio);
 }
 
 /*
  * Select a device to configure 
  */
 
-static inline void w977_select_device(__u8 devnum)
+static inline void w977_select_device(__u8 devnum, unsigned int efio)
 {
-	outb(0x07, W977_EFIR);
-	outb(devnum, W977_EFDR);
+	outb(0x07, efio);
+	outb(devnum, efio+1);
 } 
 
 /* 
  * Write a byte to a register
  */
-static inline void w977_write_reg(__u8 reg, __u8 value)
+static inline void w977_write_reg(__u8 reg, __u8 value, unsigned int efio)
 {
-	outb(reg, W977_EFIR);
-	outb(value, W977_EFDR);
+	outb(reg, efio);
+	outb(value, efio+1);
 }
 
 /*
  * read a byte from a register
  */
-static inline __u8 w977_read_reg(__u8 reg)
+static inline __u8 w977_read_reg(__u8 reg, unsigned int efio)
 {
-	outb(reg, W977_EFIR);
-	return inb(W977_EFDR);
+	outb(reg, efio);
+	return inb(efio+1);
 }
 
 /*
  * Exit extended function mode
  */
-static inline void w977_efm_exit(void)
+static inline void w977_efm_exit(unsigned int efio)
 {
-	outb(0xAA, W977_EFER);
+	outb(0xAA, efio);
 }
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)