mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 15:46:39 +07:00
brcm80211: fmac: change function brcmf_detach parameter
Change parameter to device pointer for bus layer interface function brcmf_detach. This is part of the fullmac bus interface refactoring. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Alwin Beukers <alwin@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
ed683c986f
commit
5f947ad942
@ -703,7 +703,7 @@ extern int brcmf_netdev_wait_pend8021x(struct net_device *ndev);
|
||||
extern s32 brcmf_exec_dcmd(struct net_device *dev, u32 cmd, void *arg, u32 len);
|
||||
|
||||
/* Indication from bus module regarding removal/absence of dongle */
|
||||
extern void brcmf_detach(struct brcmf_pub *drvr);
|
||||
extern void brcmf_detach(struct device *dev);
|
||||
|
||||
/* Indication from bus module to change flow-control state */
|
||||
extern void brcmf_txflowcontrol(struct brcmf_pub *drvr, int ifidx, bool on);
|
||||
|
@ -955,7 +955,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_sdio *bus, uint bus_hdrlen,
|
||||
|
||||
fail:
|
||||
if (drvr)
|
||||
brcmf_detach(drvr);
|
||||
brcmf_detach(dev);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@ -1093,29 +1093,30 @@ static void brcmf_bus_detach(struct brcmf_pub *drvr)
|
||||
}
|
||||
}
|
||||
|
||||
void brcmf_detach(struct brcmf_pub *drvr)
|
||||
void brcmf_detach(struct device *dev)
|
||||
{
|
||||
int i;
|
||||
struct brcmf_bus *bus_if = dev_get_drvdata(dev);
|
||||
struct brcmf_pub *drvr = bus_if->drvr;
|
||||
|
||||
brcmf_dbg(TRACE, "Enter\n");
|
||||
|
||||
if (drvr) {
|
||||
int i;
|
||||
|
||||
/* make sure primary interface removed last */
|
||||
for (i = BRCMF_MAX_IFS-1; i > -1; i--)
|
||||
if (drvr->iflist[i])
|
||||
brcmf_del_if(drvr, i);
|
||||
/* make sure primary interface removed last */
|
||||
for (i = BRCMF_MAX_IFS-1; i > -1; i--)
|
||||
if (drvr->iflist[i])
|
||||
brcmf_del_if(drvr, i);
|
||||
|
||||
cancel_work_sync(&drvr->setmacaddr_work);
|
||||
cancel_work_sync(&drvr->multicast_work);
|
||||
cancel_work_sync(&drvr->setmacaddr_work);
|
||||
cancel_work_sync(&drvr->multicast_work);
|
||||
|
||||
brcmf_bus_detach(drvr);
|
||||
brcmf_bus_detach(drvr);
|
||||
|
||||
if (drvr->prot)
|
||||
brcmf_proto_detach(drvr);
|
||||
if (drvr->prot)
|
||||
brcmf_proto_detach(drvr);
|
||||
|
||||
drvr->bus_if->drvr = NULL;
|
||||
kfree(drvr);
|
||||
}
|
||||
bus_if->drvr = NULL;
|
||||
kfree(drvr);
|
||||
}
|
||||
|
||||
static int brcmf_get_pend_8021x_cnt(struct brcmf_pub *drvr)
|
||||
|
@ -3865,8 +3865,8 @@ static void brcmf_sdbrcm_release(struct brcmf_sdio *bus)
|
||||
/* De-register interrupt handler */
|
||||
brcmf_sdcard_intr_dereg(bus->sdiodev);
|
||||
|
||||
if (bus->drvr) {
|
||||
brcmf_detach(bus->drvr);
|
||||
if (bus->sdiodev->bus_if->drvr) {
|
||||
brcmf_detach(bus->sdiodev->dev);
|
||||
brcmf_sdbrcm_release_dongle(bus);
|
||||
bus->drvr = NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user