Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6cfdf68 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: replace brcmu_bitcount with hweight8



The kernel provides bit operations to replace brcmu_bitcount so
using those instead.

Reported-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarRoland Vossen <rvossen@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 412e4fdf
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@
 */
 */
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/bitops.h>


#include <brcm_hw_ids.h>
#include <brcm_hw_ids.h>
#include <chipcommon.h>
#include <chipcommon.h>
@@ -2879,8 +2880,7 @@ void wlc_phy_stf_chain_init(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain)
	pi->sh->hw_phyrxchain = rxchain;
	pi->sh->hw_phyrxchain = rxchain;
	pi->sh->phytxchain = txchain;
	pi->sh->phytxchain = txchain;
	pi->sh->phyrxchain = rxchain;
	pi->sh->phyrxchain = rxchain;
	pi->pubpi.phy_corenum = (u8) brcmu_bitcount((u8 *)&pi->sh->phyrxchain,
	pi->pubpi.phy_corenum = (u8)hweight8(pi->sh->phyrxchain);
						    sizeof(u8));
}
}


void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain)
void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain)
@@ -2892,8 +2892,7 @@ void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain)
	if (ISNPHY(pi))
	if (ISNPHY(pi))
		wlc_phy_rxcore_setstate_nphy(pih, rxchain);
		wlc_phy_rxcore_setstate_nphy(pih, rxchain);


	pi->pubpi.phy_corenum = (u8) brcmu_bitcount((u8 *)&pi->sh->phyrxchain,
	pi->pubpi.phy_corenum = (u8)hweight8(pi->sh->phyrxchain);
						    sizeof(u8));
}
}


void wlc_phy_stf_chain_get(struct brcms_phy_pub *pih, u8 *txchain, u8 *rxchain)
void wlc_phy_stf_chain_get(struct brcms_phy_pub *pih, u8 *txchain, u8 *rxchain)
+5 −5
Original line number Original line Diff line number Diff line
@@ -165,10 +165,10 @@ static int brcms_c_stf_txcore_set(struct brcms_c_info *wlc, u8 Nsts,
	BCMMSG(wlc->wiphy, "wl%d: Nsts %d core_mask %x\n",
	BCMMSG(wlc->wiphy, "wl%d: Nsts %d core_mask %x\n",
		 wlc->pub->unit, Nsts, core_mask);
		 wlc->pub->unit, Nsts, core_mask);


	if (BRCMS_BITSCNT(core_mask) > wlc->stf->txstreams)
	if (hweight8(core_mask) > wlc->stf->txstreams)
		core_mask = 0;
		core_mask = 0;


	if ((BRCMS_BITSCNT(core_mask) == wlc->stf->txstreams) &&
	if ((hweight8(core_mask) == wlc->stf->txstreams) &&
	    ((core_mask & ~wlc->stf->txchain)
	    ((core_mask & ~wlc->stf->txchain)
	     || !(core_mask & wlc->stf->txchain)))
	     || !(core_mask & wlc->stf->txchain)))
		core_mask = wlc->stf->txchain;
		core_mask = wlc->stf->txchain;
@@ -278,7 +278,7 @@ int brcms_c_stf_txchain_set(struct brcms_c_info *wlc, s32 int_val, bool force)
	 * if nrate override is configured to be non-SISO STF mode, reject
	 * if nrate override is configured to be non-SISO STF mode, reject
	 * reducing txchain to 1
	 * reducing txchain to 1
	 */
	 */
	txstreams = (u8) BRCMS_BITSCNT(txchain);
	txstreams = (u8) hweight8(txchain);
	if (txstreams > MAX_STREAMS_SUPPORTED)
	if (txstreams > MAX_STREAMS_SUPPORTED)
		return -EINVAL;
		return -EINVAL;


@@ -385,7 +385,7 @@ void brcms_c_stf_phy_chain_calc(struct brcms_c_info *wlc)
	}
	}


	wlc->stf->txchain = wlc->stf->hw_txchain;
	wlc->stf->txchain = wlc->stf->hw_txchain;
	wlc->stf->txstreams = (u8) BRCMS_BITSCNT(wlc->stf->hw_txchain);
	wlc->stf->txstreams = (u8) hweight8(wlc->stf->hw_txchain);


	if (wlc->stf->hw_rxchain == 0 || wlc->stf->hw_rxchain == 0xf) {
	if (wlc->stf->hw_rxchain == 0 || wlc->stf->hw_rxchain == 0xf) {
		if (BRCMS_ISNPHY(wlc->band))
		if (BRCMS_ISNPHY(wlc->band))
@@ -395,7 +395,7 @@ void brcms_c_stf_phy_chain_calc(struct brcms_c_info *wlc)
	}
	}


	wlc->stf->rxchain = wlc->stf->hw_rxchain;
	wlc->stf->rxchain = wlc->stf->hw_rxchain;
	wlc->stf->rxstreams = (u8) BRCMS_BITSCNT(wlc->stf->hw_rxchain);
	wlc->stf->rxstreams = (u8) hweight8(wlc->stf->hw_rxchain);


	/* initialize the txcore table */
	/* initialize the txcore table */
	memcpy(wlc->stf->txcore, txcore_default, sizeof(wlc->stf->txcore));
	memcpy(wlc->stf->txcore, txcore_default, sizeof(wlc->stf->txcore));