+static a_int32_t ath_reg_read_filter(struct ath_hal *ah, a_int32_t addr)
+{
+ if ((addr & 0xffffe000) == 0x2000) {
+ /* SEEPROM registers */
+ ath_hal_reg_read_target(ah, addr);
+ if (!ath_hal_wait(ah, 0x407c, 0x00030000, 0))
+ adf_os_print("SEEPROM Read fail: 0x%08x\n", addr);
+
+ return (ath_hal_reg_read_target(ah, 0x407c) & 0x0000ffff);
+ } else if (addr > 0xffff)
+ /* SoC registers */
+ return HAL_WORD_REG_READ(addr);
+ else
+ /* MAC registers */
+ return ath_hal_reg_read_target(ah, addr);
+}
+