The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.

Signed-off-by: zhong jiang <zhongji...@huawei.com>
---
 .../net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c   | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c 
b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
index 07f61d6..3bf152d 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
@@ -17748,7 +17748,7 @@ static void wlc_phy_txpwrctrl_pwr_setup_nphy(struct 
brcms_phy *pi)
                        num = 8 *
                              (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
                        den = 32768 + a1[tbl_id - 26] * idx;
-                       pwr_est = max(((4 * num + den / 2) / den), -8);
+                       pwr_est = max(DIV_ROUND_CLOSEST(4 * num, den), -8);
                        if (NREV_LT(pi->pubpi.phy_rev, 3)) {
                                if (idx <=
                                    (uint) (31 - idle_tssi[tbl_id - 26] + 1))
@@ -26990,8 +26990,8 @@ static void wlc_phy_rxcal_phycleanup_nphy(struct 
brcms_phy *pi, u8 rx_core)
                                     NPHY_RXCAL_TONEAMP, 0, cal_type, false);
 
                wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
-               i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
-               q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
+               i_pwr = DIV_ROUND_CLOSEST(est[rx_core].i_pwr, num_samps);
+               q_pwr = DIV_ROUND_CLOSEST(est[rx_core].q_pwr, num_samps);
                curr_pwr = i_pwr + q_pwr;
 
                switch (gainctrl_dirn) {
@@ -27673,10 +27673,10 @@ static int wlc_phy_cal_rxiq_nphy_rev3(struct 
brcms_phy *pi,
                                        wlc_phy_rx_iq_est_nphy(pi, est,
                                                               num_samps, 32,
                                                               0);
-                                       i_pwr = (est[rx_core].i_pwr +
-                                                num_samps / 2) / num_samps;
-                                       q_pwr = (est[rx_core].q_pwr +
-                                                num_samps / 2) / num_samps;
+                                       i_pwr = 
DIV_ROUND_CLOSEST(est[rx_core].i_pwr,
+                                                                        
num_samps);
+                                       q_pwr = 
DIV_ROUND_CLOSEST(est[rx_core].q_pwr,
+                                                                        
num_samps);
                                        tot_pwr[gain_pass] = i_pwr + q_pwr;
                                } else {
 
-- 
1.7.12.4

Reply via email to