#include "ath9k.h"
 
+#define REG_WRITE_D(_ah, _reg, _val) \
+       ath9k_hw_common(_ah)->ops->write((_ah), (_val), (_reg))
+#define REG_READ_D(_ah, _reg) \
+       ath9k_hw_common(_ah)->ops->read((_ah), (_reg))
+
 static unsigned int ath9k_debug = ATH_DBG_DEFAULT;
 module_param_named(debug, ath9k_debug, uint, 0);
 
 
        ath9k_ps_wakeup(sc);
 
-       REG_WRITE(ah, AR_MACMISC,
+       REG_WRITE_D(ah, AR_MACMISC,
                  ((AR_MACMISC_DMA_OBS_LINE_8 << AR_MACMISC_DMA_OBS_S) |
                   (AR_MACMISC_MISC_OBS_BUS_1 <<
                    AR_MACMISC_MISC_OBS_BUS_MSB_S)));
                if (i % 4 == 0)
                        len += snprintf(buf + len, sizeof(buf) - len, "\n");
 
-               val[i] = REG_READ(ah, AR_DMADBG_0 + (i * sizeof(u32)));
+               val[i] = REG_READ_D(ah, AR_DMADBG_0 + (i * sizeof(u32)));
                len += snprintf(buf + len, sizeof(buf) - len, "%d: %08x ",
                                i, val[i]);
        }
                (val[6] & 0x0001e000) >> 13, (val[6] & 0x001e0000) >> 17);
 
        len += snprintf(buf + len, sizeof(buf) - len, "pcu observe: 0x%x \n",
-                       REG_READ(ah, AR_OBS_BUS_1));
+                       REG_READ_D(ah, AR_OBS_BUS_1));
        len += snprintf(buf + len, sizeof(buf) - len,
-                       "AR_CR: 0x%x \n", REG_READ(ah, AR_CR));
+                       "AR_CR: 0x%x \n", REG_READ_D(ah, AR_CR));
 
        ath9k_ps_restore(sc);
 
                                aphy->chan_idx, aphy->chan_is_ht);
        }
 
-       put_unaligned_le32(REG_READ(sc->sc_ah, AR_STA_ID0), addr);
-       put_unaligned_le16(REG_READ(sc->sc_ah, AR_STA_ID1) & 0xffff, addr + 4);
+       put_unaligned_le32(REG_READ_D(sc->sc_ah, AR_STA_ID0), addr);
+       put_unaligned_le16(REG_READ_D(sc->sc_ah, AR_STA_ID1) & 0xffff, addr + 4);
        len += snprintf(buf + len, sizeof(buf) - len,
                        "addr: %pM\n", addr);
-       put_unaligned_le32(REG_READ(sc->sc_ah, AR_BSSMSKL), addr);
-       put_unaligned_le16(REG_READ(sc->sc_ah, AR_BSSMSKU) & 0xffff, addr + 4);
+       put_unaligned_le32(REG_READ_D(sc->sc_ah, AR_BSSMSKL), addr);
+       put_unaligned_le16(REG_READ_D(sc->sc_ah, AR_BSSMSKU) & 0xffff, addr + 4);
        len += snprintf(buf + len, sizeof(buf) - len,
                        "addrmask: %pM\n", addr);