Commit a97e4fc5 authored by Franky Lin's avatar Franky Lin Committed by John W. Linville

brcm80211: fmac: chip attach code flow clean up

Merged brcmf_sdbrcm_chip_attach into brcmf_sdio_chip_attach
for better readability.
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 98ce9035
...@@ -3867,31 +3867,6 @@ static void brcmf_sdbrcm_sdiod_drive_strength_init(struct brcmf_bus *bus, ...@@ -3867,31 +3867,6 @@ static void brcmf_sdbrcm_sdiod_drive_strength_init(struct brcmf_bus *bus,
} }
} }
static int
brcmf_sdbrcm_chip_attach(struct brcmf_bus *bus, u32 regs)
{
struct chip_info *ci;
int err;
brcmf_dbg(TRACE, "Enter\n");
/* alloc chip_info_t */
ci = kzalloc(sizeof(struct chip_info), GFP_ATOMIC);
if (NULL == ci)
return -ENOMEM;
err = brcmf_sdio_chip_attach(bus->sdiodev, ci, regs);
if (err)
goto fail;
bus->ci = ci;
return 0;
fail:
bus->ci = NULL;
kfree(ci);
return err;
}
static bool static bool
brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva) brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva)
{ {
...@@ -3913,7 +3888,7 @@ brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva) ...@@ -3913,7 +3888,7 @@ brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva)
#endif /* BCMDBG */ #endif /* BCMDBG */
/* /*
* Force PLL off until brcmf_sdbrcm_chip_attach() * Force PLL off until brcmf_sdio_chip_attach()
* programs PLL control regs * programs PLL control regs
*/ */
...@@ -3931,8 +3906,8 @@ brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva) ...@@ -3931,8 +3906,8 @@ brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva)
goto fail; goto fail;
} }
if (brcmf_sdbrcm_chip_attach(bus, regsva)) { if (brcmf_sdio_chip_attach(bus->sdiodev, &bus->ci, regsva)) {
brcmf_dbg(ERROR, "brcmf_sdbrcm_chip_attach failed!\n"); brcmf_dbg(ERROR, "brcmf_sdio_chip_attach failed!\n");
goto fail; goto fail;
} }
......
...@@ -252,17 +252,25 @@ brcmf_sdio_chip_buscoresetup(struct brcmf_sdio_dev *sdiodev, ...@@ -252,17 +252,25 @@ brcmf_sdio_chip_buscoresetup(struct brcmf_sdio_dev *sdiodev,
} }
int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev, int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev,
struct chip_info *ci, u32 regs) struct chip_info **ci_ptr, u32 regs)
{ {
int ret = 0; int ret;
struct chip_info *ci;
brcmf_dbg(TRACE, "Enter\n");
/* alloc chip_info_t */
ci = kzalloc(sizeof(struct chip_info), GFP_ATOMIC);
if (!ci)
return -ENOMEM;
ret = brcmf_sdio_chip_buscoreprep(sdiodev); ret = brcmf_sdio_chip_buscoreprep(sdiodev);
if (ret != 0) if (ret != 0)
return ret; goto err;
ret = brcmf_sdio_chip_recognition(sdiodev, ci, regs); ret = brcmf_sdio_chip_recognition(sdiodev, ci, regs);
if (ret != 0) if (ret != 0)
return ret; goto err;
brcmf_sdio_chip_buscoresetup(sdiodev, ci); brcmf_sdio_chip_buscoresetup(sdiodev, ci);
...@@ -271,5 +279,10 @@ int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev, ...@@ -271,5 +279,10 @@ int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev,
brcmf_sdcard_reg_write(sdiodev, brcmf_sdcard_reg_write(sdiodev,
CORE_CC_REG(ci->cccorebase, gpiopulldown), 4, 0); CORE_CC_REG(ci->cccorebase, gpiopulldown), 4, 0);
*ci_ptr = ci;
return 0;
err:
kfree(ci);
return ret; return ret;
} }
...@@ -137,7 +137,6 @@ struct sbconfig { ...@@ -137,7 +137,6 @@ struct sbconfig {
extern void brcmf_sdio_chip_coredisable(struct brcmf_sdio_dev *sdiodev, extern void brcmf_sdio_chip_coredisable(struct brcmf_sdio_dev *sdiodev,
u32 corebase); u32 corebase);
extern int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev, extern int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev,
struct chip_info *ci, u32 regs); struct chip_info **ci_ptr, u32 regs);
#endif /* _BRCMFMAC_SDIO_CHIP_H_ */ #endif /* _BRCMFMAC_SDIO_CHIP_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment