staging: rtl8723au: core: Replace open coded version with existing hweight function
authorTapasweni Pathak <tapaswenipathak@gmail.com>
Wed, 8 Oct 2014 04:45:42 +0000 (10:15 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Oct 2014 02:29:17 +0000 (10:29 +0800)
This patch replaces the open coded version with Linux's existing hweight
functions.
The original version checked each of the low four bits, accumulating and
returning the result. Instead, use a mask to select those four bits, and
pass the result to hweight8.
It also makes the code in this function simpler.

Signed-off-by: Tapasweni Pathak <tapaswenipathak@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723au/core/rtw_efuse.c

index 9f6ce7d071cd3bc4db913238a854c9dacca53cfb..799b9cf632632acf31fb516a3a7842248de4604b 100644 (file)
@@ -117,12 +117,7 @@ Efuse_GetCurrentSize23a(struct rtw_adapter *pAdapter, u8 efuseType)
 u8
 Efuse_CalculateWordCnts23a(u8 word_en)
 {
-       u8 word_cnts = 0;
-       if (!(word_en & BIT(0)))        word_cnts++; /*  0 : write enable */
-       if (!(word_en & BIT(1)))        word_cnts++;
-       if (!(word_en & BIT(2)))        word_cnts++;
-       if (!(word_en & BIT(3)))        word_cnts++;
-       return word_cnts;
+       return hweight8((~word_en) & 0xf);
 }
 
 /*  */