diff options
author | Roland Vossen | 2011-09-12 12:14:47 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2011-09-12 16:55:44 +0200 |
commit | ea2380f79172f25dc19c972efed0ac9af3c5d192 (patch) | |
tree | 772691dc0ac9ddde34d138344338eba1d6012204 /drivers/staging/brcm80211/brcmsmac/phy | |
parent | staging: brcm80211: cleaned up softmac types.h macro's (diff) | |
download | kernel-qcow2-linux-ea2380f79172f25dc19c972efed0ac9af3c5d192.tar.gz kernel-qcow2-linux-ea2380f79172f25dc19c972efed0ac9af3c5d192.tar.xz kernel-qcow2-linux-ea2380f79172f25dc19c972efed0ac9af3c5d192.zip |
staging: brcm80211: cleaned up brcmu_utils.h macro's
Substituted/removed macro's.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/brcm80211/brcmsmac/phy')
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c | 14 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c | 7 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/phy/phy_n.c | 17 |
3 files changed, 25 insertions, 13 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c index a159961972ac..119a1270bebc 100644 --- a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c @@ -13,7 +13,7 @@ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - +#include <linux/kernel.h> #include <linux/delay.h> #include <brcm_hw_ids.h> @@ -37,6 +37,16 @@ (ISNPHY(pi) ? VALID_N_RADIO(radioid) : false) || \ (ISLCNPHY(pi) ? VALID_LCN_RADIO(radioid) : false)) +/* basic mux operation - can be optimized on several architectures */ +#define MUX(pred, true, false) ((pred) ? (true) : (false)) + +/* modulo inc/dec - assumes x E [0, bound - 1] */ +#define MODINC(x, bound) MUX((x) == (bound) - 1, 0, (x) + 1) + +/* modulo inc/dec, bound = 2^k */ +#define MODDEC_POW2(x, bound) (((x) - 1) & ((bound) - 1)) +#define MODINC_POW2(x, bound) (((x) + 1) & ((bound) - 1)) + struct chan_info_basic { u16 chan; u16 freq; @@ -2879,7 +2889,7 @@ u8 wlc_phy_nbits(s32 value) s32 abs_val; u8 nbits = 0; - abs_val = ABS(value); + abs_val = abs(value); while ((abs_val >> nbits) > 0) nbits++; diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c index fa21734902a1..46661b833b8c 100644 --- a/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c +++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c @@ -14,6 +14,7 @@ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include <linux/kernel.h> #include <linux/delay.h> #include <linux/cordic.h> @@ -3378,9 +3379,9 @@ wlc_lcnphy_start_tx_tone(struct brcms_phy *pi, s32 f_kHz, u16 max_val, k = 1; do { bw = phy_bw * 1000 * k; - num_samps = bw / ABS(f_kHz); + num_samps = bw / abs(f_kHz); k++; - } while ((num_samps * (u32) (ABS(f_kHz))) != bw); + } while ((num_samps * (u32) (abs(f_kHz))) != bw); } else num_samps = 2; @@ -3894,7 +3895,7 @@ static void wlc_lcnphy_txpwrtbl_iqlo_cal(struct brcms_phy *pi) } wlc_lcnphy_get_radio_loft(pi, &ei0, &eq0, &fi0, &fq0); - if ((ABS((s8) fi0) == 15) && (ABS((s8) fq0) == 15)) { + if ((abs((s8) fi0) == 15) && (abs((s8) fq0) == 15)) { if (CHSPEC_IS5G(pi->radio_chanspec)) { target_gains.gm_gain = 255; target_gains.pga_gain = 255; diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c index 7a50a23727f1..58645d2b79d0 100644 --- a/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c +++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c @@ -14,6 +14,7 @@ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include <linux/kernel.h> #include <linux/delay.h> #include <linux/cordic.h> @@ -22648,7 +22649,7 @@ static void wlc_phy_rssi_cal_nphy_rev3(struct brcms_phy *pi) poll_results[vcm_final][result_idx]; if (fine_digital_offset[result_idx] < 0) { fine_digital_offset[result_idx] = - ABS(fine_digital_offset + abs(fine_digital_offset [result_idx]); fine_digital_offset[result_idx] += (NPHY_RSSICAL_NPOLL / 2); @@ -22727,7 +22728,7 @@ static void wlc_phy_rssi_cal_nphy_rev3(struct brcms_phy *pi) if (fine_digital_offset[result_idx] < 0) { fine_digital_offset[result_idx] - = ABS( + = abs( fine_digital_offset [result_idx]); fine_digital_offset[result_idx] @@ -23004,7 +23005,7 @@ static void wlc_phy_rssi_cal_nphy_rev2(struct brcms_phy *pi, u8 rssi_type) min_vcm = 0; min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1; for (vcm = 0; vcm < 4; vcm++) { - curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ? + curr_d = abs(((rssi_type == NPHY_RSSI_SEL_NB) ? poll_results[vcm][result_idx] : poll_miniq[vcm][result_idx / 2]) - (target_code * NPHY_RSSICAL_NPOLL)); @@ -23028,7 +23029,7 @@ static void wlc_phy_rssi_cal_nphy_rev2(struct brcms_phy *pi, u8 rssi_type) poll_results[vcm_final[result_idx]][result_idx]; if (fine_digital_offset[result_idx] < 0) { fine_digital_offset[result_idx] = - ABS(fine_digital_offset[result_idx]); + abs(fine_digital_offset[result_idx]); fine_digital_offset[result_idx] += (NPHY_RSSICAL_NPOLL / 2); fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL; @@ -27422,9 +27423,9 @@ wlc_phy_rc_sweep_nphy(struct brcms_phy *pi, u8 core_idx, u8 loopback_type) if (rccal_stepsize == -1) { best_rccal_val = - (ABS((int)last_pwr_ratio - + (abs((int)last_pwr_ratio - (int)target_pwr_ratio) < - ABS((int)pwr_ratio - + abs((int)pwr_ratio - (int)target_pwr_ratio)) ? last_rccal_val : rccal_val; @@ -28324,10 +28325,10 @@ void wlc_phy_txpwr_papd_cal_nphy(struct brcms_phy *pi) || (wlc_phy_txpwr_ison_nphy(pi) && (((u32) - ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) - + abs(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) - pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4) || ((u32) - ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) - + abs(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) - pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) wlc_phy_a4(pi, true); } |