From bcadaaa097c7ec103fe75f9da41f8fe52693b644 Mon Sep 17 00:00:00 2001 From: Arend Van Spriel Date: Tue, 19 Dec 2017 13:47:12 +0100 Subject: [PATCH] brcmfmac: More efficient and slightly easier to read fixup for 4339 chips Its more efficient to test the register we're interested in first, potentially avoiding two more comparisons, and therefore always avoiding one comparison per call on all other chips. Signed-off-by: Ian Molton [arend: fix some checkpatch warnings] Signed-off-by: Arend van Spriel Signed-off-by: Kalle Valo --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -3772,15 +3772,16 @@ static u32 brcmf_sdio_buscore_read32(voi val = brcmf_sdiod_readl(sdiodev, addr, NULL); - if ((sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 || - sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4339) && - addr == CORE_CC_REG(SI_ENUM_BASE, chipid)) { + if (addr == CORE_CC_REG(SI_ENUM_BASE, chipid) && + (sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4339 || + sdiodev->func[1]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339)) { rev = (val & CID_REV_MASK) >> CID_REV_SHIFT; if (rev >= 2) { val &= ~CID_ID_MASK; val |= BRCM_CC_4339_CHIP_ID; } } + return val; }