diff options
Diffstat (limited to 'package/madwifi/patches')
-rw-r--r-- | package/madwifi/patches/354-ifxmips_eeprom.patch | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/package/madwifi/patches/354-ifxmips_eeprom.patch b/package/madwifi/patches/354-ifxmips_eeprom.patch index 635857ac2..134253466 100644 --- a/package/madwifi/patches/354-ifxmips_eeprom.patch +++ b/package/madwifi/patches/354-ifxmips_eeprom.patch @@ -1,13 +1,12 @@ --- a/ath_hal/ah_os.c +++ b/ath_hal/ah_os.c -@@ -343,6 +343,46 @@ EXPORT_SYMBOL(ath_hal_func); +@@ -343,6 +343,45 @@ * NB: see the comments in ah_osdep.h about byte-swapping register * reads and writes to understand what's going on below. */ + -+#ifdef CONFIG_IFXMIPS -+extern int ifxmips_has_brn_block(void); -+static int ifxmips_emulate = 0; ++#ifdef CONFIG_LANTIQ ++extern int lantiq_emulate_madwifi_eep; +#define EEPROM_EMULATION 1 +#endif + @@ -47,13 +46,13 @@ void __ahdecl ath_hal_reg_write(struct ath_hal *ah, u_int reg, u_int32_t val) { -@@ -351,20 +391,33 @@ ath_hal_reg_write(struct ath_hal *ah, u_ +@@ -351,20 +390,33 @@ ath_hal_printf(ah, "%s: WRITE 0x%x <= 0x%x\n", (ath_hal_func ?: "unknown"), reg, val); #endif - _OS_REG_WRITE(ah, reg, val); +#ifdef EEPROM_EMULATION -+ if((reg >= 0x6000) && (reg <= 0x6010) && ifxmips_emulate) ++ if((reg >= 0x6000) && (reg <= 0x6010) && lantiq_emulate_madwifi_eep) + { + val = ath_hal_eeprom(ah, reg, val, 1); + } else @@ -70,7 +69,7 @@ - u_int32_t val; + u_int32_t val; +#ifdef EEPROM_EMULATION -+ if((reg >= 0x6000) && (reg <= 0x6010) && ifxmips_emulate) ++ if((reg >= 0x6000) && (reg <= 0x6010) && lantiq_emulate_madwifi_eep) + { + val = ath_hal_eeprom(ah, reg, 0, 0); + } else @@ -85,14 +84,11 @@ (ath_hal_func ?: "unknown"), reg, val); #endif return val; -@@ -581,7 +634,9 @@ init_ath_hal(void) +@@ -581,7 +633,6 @@ { const char *sep; int i; - -+#ifdef CONFIG_IFXMIPS -+ ifxmips_emulate = ifxmips_has_brn_block(); -+#endif printk(KERN_INFO "%s: %s (", dev_info, ath_hal_version); sep = ""; for (i = 0; ath_hal_buildopts[i] != NULL; i++) { |