]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
brcm80211: fmac: add coredisable function for bcm4330 chip
[mv-sheeva.git] / drivers / net / wireless / brcm80211 / brcmfmac / dhd_sdio.c
index 5b813361f5f3e905d07f42047b41c5d714244acd..0d0e283122624f4e6b927a4e770d12776222b39f 100644 (file)
@@ -3098,7 +3098,6 @@ static int brcmf_sdbrcm_download_state(struct brcmf_bus *bus, bool enter)
 {
        uint retries;
        int bcmerror = 0;
-       u8 idx;
        struct chip_info *ci = bus->ci;
 
        /* To enter download state, disable ARM and reset SOCRAM.
@@ -3107,11 +3106,10 @@ static int brcmf_sdbrcm_download_state(struct brcmf_bus *bus, bool enter)
        if (enter) {
                bus->alp_only = true;
 
-               idx = brcmf_sdio_chip_getinfidx(ci, BCMA_CORE_ARM_CM3);
-               brcmf_sdio_chip_coredisable(bus->sdiodev, ci->c_inf[idx].base);
+               ci->coredisable(bus->sdiodev, ci, BCMA_CORE_ARM_CM3);
 
-               idx = brcmf_sdio_chip_getinfidx(ci, BCMA_CORE_INTERNAL_MEM);
-               brcmf_sdio_chip_resetcore(bus->sdiodev, ci->c_inf[idx].base);
+               brcmf_sdio_chip_resetcore(bus->sdiodev, ci,
+                                         BCMA_CORE_INTERNAL_MEM);
 
                /* Clear the top bit of memory */
                if (bus->ramsize) {
@@ -3135,8 +3133,7 @@ static int brcmf_sdbrcm_download_state(struct brcmf_bus *bus, bool enter)
                w_sdreg32(bus, 0xFFFFFFFF,
                          offsetof(struct sdpcmd_regs, intstatus), &retries);
 
-               idx = brcmf_sdio_chip_getinfidx(ci, BCMA_CORE_ARM_CM3);
-               brcmf_sdio_chip_resetcore(bus->sdiodev, ci->c_inf[idx].base);
+               brcmf_sdio_chip_resetcore(bus->sdiodev, ci, BCMA_CORE_ARM_CM3);
 
                /* Allow HT Clock now that the ARM is running. */
                bus->alp_only = false;