]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
brcmfmac: More efficient and slightly easier to read fixup for 4339 chips
authorArend Van Spriel <arend.vanspriel@broadcom.com>
Tue, 19 Dec 2017 12:47:12 +0000 (13:47 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 8 Jan 2018 17:17:57 +0000 (19:17 +0200)
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 <ian@mnementh.co.uk>
[arend: fix some checkpatch warnings]
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c

index 2239b1e1c85a5260cc1320d7e8855422deb66820..4cac703b057eaad7f2eafc52e9c80d854561db2a 100644 (file)
@@ -3772,15 +3772,16 @@ static u32 brcmf_sdio_buscore_read32(void *ctx, u32 addr)
 
        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;
 }