brcm80211: fmac: chip attach code flow clean up
Merged brcmf_sdbrcm_chip_attach into brcmf_sdio_chip_attach for better readability. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
98ce903519
commit
a97e4fc5ae
@@ -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)
|
|||||||
#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)
|
|||||||
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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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,
|
|||||||
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 {
|
|||||||
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_ */
|
||||||
|
Reference in New Issue
Block a user