diff options
author | Franky Lin <frankyl@broadcom.com> | 2011-12-16 21:36:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-19 14:40:43 -0500 |
commit | 5f947ad942a72e7f96942da97d719dd62037dbc2 (patch) | |
tree | 547d4bd42f5866dbf8a1df171c151bd5a5b7c48b /drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | |
parent | ed683c986f6fff6b9d9fe2adc8b11e0b0be7c085 (diff) |
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>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c index 0440471c083..6b0739b1870 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | |||
@@ -955,7 +955,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_sdio *bus, uint bus_hdrlen, | |||
955 | 955 | ||
956 | fail: | 956 | fail: |
957 | if (drvr) | 957 | if (drvr) |
958 | brcmf_detach(drvr); | 958 | brcmf_detach(dev); |
959 | 959 | ||
960 | return NULL; | 960 | return NULL; |
961 | } | 961 | } |
@@ -1093,29 +1093,30 @@ static void brcmf_bus_detach(struct brcmf_pub *drvr) | |||
1093 | } | 1093 | } |
1094 | } | 1094 | } |
1095 | 1095 | ||
1096 | void brcmf_detach(struct brcmf_pub *drvr) | 1096 | void brcmf_detach(struct device *dev) |
1097 | { | 1097 | { |
1098 | int i; | ||
1099 | struct brcmf_bus *bus_if = dev_get_drvdata(dev); | ||
1100 | struct brcmf_pub *drvr = bus_if->drvr; | ||
1101 | |||
1098 | brcmf_dbg(TRACE, "Enter\n"); | 1102 | brcmf_dbg(TRACE, "Enter\n"); |
1099 | 1103 | ||
1100 | if (drvr) { | ||
1101 | int i; | ||
1102 | 1104 | ||
1103 | /* make sure primary interface removed last */ | 1105 | /* make sure primary interface removed last */ |
1104 | for (i = BRCMF_MAX_IFS-1; i > -1; i--) | 1106 | for (i = BRCMF_MAX_IFS-1; i > -1; i--) |
1105 | if (drvr->iflist[i]) | 1107 | if (drvr->iflist[i]) |
1106 | brcmf_del_if(drvr, i); | 1108 | brcmf_del_if(drvr, i); |
1107 | 1109 | ||
1108 | cancel_work_sync(&drvr->setmacaddr_work); | 1110 | cancel_work_sync(&drvr->setmacaddr_work); |
1109 | cancel_work_sync(&drvr->multicast_work); | 1111 | cancel_work_sync(&drvr->multicast_work); |
1110 | 1112 | ||
1111 | brcmf_bus_detach(drvr); | 1113 | brcmf_bus_detach(drvr); |
1112 | 1114 | ||
1113 | if (drvr->prot) | 1115 | if (drvr->prot) |
1114 | brcmf_proto_detach(drvr); | 1116 | brcmf_proto_detach(drvr); |
1115 | 1117 | ||
1116 | drvr->bus_if->drvr = NULL; | 1118 | bus_if->drvr = NULL; |
1117 | kfree(drvr); | 1119 | kfree(drvr); |
1118 | } | ||
1119 | } | 1120 | } |
1120 | 1121 | ||
1121 | static int brcmf_get_pend_8021x_cnt(struct brcmf_pub *drvr) | 1122 | static int brcmf_get_pend_8021x_cnt(struct brcmf_pub *drvr) |