aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-11-29 05:48:15 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-12-02 14:25:17 -0500
commitcf4582875a77c13adf8fec79b8ab3896d2b38e97 (patch)
tree5b56d455abcc3043325897a17a4c6684dc8a3b04 /drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
parent8dee77bab2eda24b48bfb8aecf5ac1370e424416 (diff)
brcmfmac: replace dongle command list with .preinit() callback
The bus-specific interface allowed a list of dongle commands to be provided to the common driver part. However, upcoming functionality requires a more dynamic behaviour. Hence the list is replaced by a new callback function so the bus-specific driver part can implement this behaviour. Reviewed-by: Franky Lin <frankyl@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
index 9431af2465f3..5c0c9191b794 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
@@ -257,8 +257,6 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
257 u8 buf[BRCMF_DCMD_SMLEN]; 257 u8 buf[BRCMF_DCMD_SMLEN];
258 char *ptr; 258 char *ptr;
259 s32 err; 259 s32 err;
260 struct brcmf_bus_dcmd *cmdlst;
261 struct list_head *cur, *q;
262 260
263 /* retreive mac address */ 261 /* retreive mac address */
264 err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, 262 err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
@@ -342,17 +340,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
342 brcmf_c_pktfilter_offload_enable(ifp, BRCMF_DEFAULT_PACKET_FILTER, 340 brcmf_c_pktfilter_offload_enable(ifp, BRCMF_DEFAULT_PACKET_FILTER,
343 0, true); 341 0, true);
344 342
345 /* set bus specific command if there is any */ 343 /* do bus specific preinit here */
346 list_for_each_safe(cur, q, &ifp->drvr->bus_if->dcmd_list) { 344 err = brcmf_bus_preinit(ifp->drvr->bus_if);
347 cmdlst = list_entry(cur, struct brcmf_bus_dcmd, list);
348 if (cmdlst->name && cmdlst->param && cmdlst->param_len) {
349 brcmf_fil_iovar_data_set(ifp, cmdlst->name,
350 cmdlst->param,
351 cmdlst->param_len);
352 }
353 list_del(cur);
354 kfree(cmdlst);
355 }
356done: 345done:
357 return err; 346 return err;
358} 347}