diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-11-29 05:48:15 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-12-02 14:25:17 -0500 |
commit | cf4582875a77c13adf8fec79b8ab3896d2b38e97 (patch) | |
tree | 5b56d455abcc3043325897a17a4c6684dc8a3b04 /drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c | |
parent | 8dee77bab2eda24b48bfb8aecf5ac1370e424416 (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.c | 15 |
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 | } | ||
356 | done: | 345 | done: |
357 | return err; | 346 | return err; |
358 | } | 347 | } |