ath9k: remove ath9k_mod_tsf64_tu
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>
Fri, 27 Nov 2015 08:37:18 +0000 (09:37 +0100)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 8 Dec 2015 14:51:05 +0000 (16:51 +0200)
Remove ath9k_mod_tsf64_tu() function while we could
use div_u64_rem() function.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath9k/common-beacon.c

index 6ad4447..01d6d32 100644 (file)
 
 #define FUDGE 2
 
-/* Calculate the modulo of a 64 bit TSF snapshot with a TU divisor */
-static u32 ath9k_mod_tsf64_tu(u64 tsf, u32 div_tu)
-{
-       u32 tsf_mod, tsf_hi, tsf_lo, mod_hi, mod_lo;
-
-       tsf_mod = tsf & (BIT(10) - 1);
-       tsf_hi = tsf >> 32;
-       tsf_lo = ((u32) tsf) >> 10;
-
-       mod_hi = tsf_hi % div_tu;
-       mod_lo = ((mod_hi << 22) + tsf_lo) % div_tu;
-
-       return (mod_lo << 10) | tsf_mod;
-}
-
 static u32 ath9k_get_next_tbtt(struct ath_hw *ah, u64 tsf,
                               unsigned int interval)
 {
-       unsigned int offset;
+       unsigned int offset, divisor;
 
        tsf += TU_TO_USEC(FUDGE + ah->config.sw_beacon_response_time);
-       offset = ath9k_mod_tsf64_tu(tsf, interval);
+       divisor = TU_TO_USEC(interval);
+       div_u64_rem(tsf, divisor, &offset);
 
-       return (u32) tsf + TU_TO_USEC(interval) - offset;
+       return (u32) tsf + divisor - offset;
 }
 
 /*