ath: move regulatory info into shared common structure
[deliverable/linux.git] / drivers / net / wireless / ath / ath9k / eeprom_def.c
index 5211ad94c8fbf9080e1e4668de9b353cdb69bfff..ae7fb5dcb266f8b9cf2b9c3fc4cbb4fe01d0e5f8 100644 (file)
@@ -904,6 +904,7 @@ static void ath9k_hw_set_def_power_per_rate_table(struct ath_hw *ah,
 #define REDUCE_SCALED_POWER_BY_TWO_CHAIN     6  /* 10*log10(2)*2 */
 #define REDUCE_SCALED_POWER_BY_THREE_CHAIN   10 /* 10*log10(3)*2 */
 
+       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
        struct ar5416_eeprom_def *pEepData = &ah->eeprom.def;
        u16 twiceMaxEdgePower = AR5416_MAX_RATE_POWER;
        static const u16 tpScaleReductionTable[5] =
@@ -953,9 +954,9 @@ static void ath9k_hw_set_def_power_per_rate_table(struct ath_hw *ah,
 
        maxRegAllowedPower = twiceMaxRegulatoryPower + twiceLargestAntenna;
 
-       if (ah->regulatory.tp_scale != ATH9K_TP_SCALE_MAX) {
+       if (regulatory->tp_scale != ATH9K_TP_SCALE_MAX) {
                maxRegAllowedPower -=
-                       (tpScaleReductionTable[(ah->regulatory.tp_scale)] * 2);
+                       (tpScaleReductionTable[(regulatory->tp_scale)] * 2);
        }
 
        scaledPower = min(powerLimit, maxRegAllowedPower);
@@ -1163,6 +1164,7 @@ static void ath9k_hw_def_set_txpower(struct ath_hw *ah,
                                    u8 powerLimit)
 {
 #define RT_AR_DELTA(x) (ratesArray[x] - cck_ofdm_delta)
+       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
        struct ar5416_eeprom_def *pEepData = &ah->eeprom.def;
        struct modal_eep_header *pModal =
                &(pEepData->modalHeader[IS_CHAN_2GHZ(chan)]);
@@ -1292,19 +1294,19 @@ static void ath9k_hw_def_set_txpower(struct ath_hw *ah,
                i = rateHt20_0;
 
        if (AR_SREV_9280_10_OR_LATER(ah))
-               ah->regulatory.max_power_level =
+               regulatory->max_power_level =
                        ratesArray[i] + AR5416_PWR_TABLE_OFFSET * 2;
        else
-               ah->regulatory.max_power_level = ratesArray[i];
+               regulatory->max_power_level = ratesArray[i];
 
        switch(ar5416_get_ntxchains(ah->txchainmask)) {
        case 1:
                break;
        case 2:
-               ah->regulatory.max_power_level += INCREASE_MAXPOW_BY_TWO_CHAIN;
+               regulatory->max_power_level += INCREASE_MAXPOW_BY_TWO_CHAIN;
                break;
        case 3:
-               ah->regulatory.max_power_level += INCREASE_MAXPOW_BY_THREE_CHAIN;
+               regulatory->max_power_level += INCREASE_MAXPOW_BY_THREE_CHAIN;
                break;
        default:
                DPRINTF(ah->ah_sc, ATH_DBG_EEPROM,
This page took 0.045648 seconds and 5 git commands to generate.