ath9k: simplify ATH_EP_RND
authorBob Copeland <me@bobcopeland.com>
Tue, 26 Feb 2013 18:41:52 +0000 (13:41 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 6 Mar 2013 21:25:47 +0000 (16:25 -0500)
Remove the embedded branch to make the ATH_EP_RND macro a little
clearer.  The new version also generates better code, saving 24
bytes of text:

   text    data     bss     dec     hex filename
  87858    1641      24   89523   15db3 ath9k_orig.ko
  87834    1641      24   89499   15d9b ath9k_new.ko

Although neither version handles negative values particularly well,
the lone caller clamps all negative values to zero anyway.  I have
verified that the results are the same for the range of possible
positive rssi values.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/common.h

index 5f845be..eca95a0 100644 (file)
@@ -40,7 +40,7 @@
        x = ATH_LPF_RSSI((x), ATH_RSSI_IN((y)), ATH_RSSI_LPF_LEN);      \
 } while (0)
 #define ATH_EP_RND(x, mul)                                             \
-       ((((x)%(mul)) >= ((mul)/2)) ? ((x) + ((mul) - 1)) / (mul) : (x)/(mul))
+       (((x) + ((mul)/2)) / (mul))
 
 int ath9k_cmn_padpos(__le16 frame_control);
 int ath9k_cmn_get_hw_crypto_keytype(struct sk_buff *skb);