123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- From: Hante Meuleman <meuleman@broadcom.com>
- Date: Wed, 17 Feb 2016 11:27:02 +0100
- Subject: [PATCH] brcmfmac: move module init and exit to common
- In preparation of module parameters for all devices the module init
- and exit routines are moved to the common file.
- Reviewed-by: Arend Van Spriel <arend@broadcom.com>
- Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
- Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
- Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
- Signed-off-by: Arend van Spriel <arend@broadcom.com>
- Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
- ---
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- @@ -28,6 +28,10 @@
- #include "tracepoint.h"
- #include "common.h"
-
- +MODULE_AUTHOR("Broadcom Corporation");
- +MODULE_DESCRIPTION("Broadcom 802.11 wireless LAN fullmac driver.");
- +MODULE_LICENSE("Dual BSD/GPL");
- +
- const u8 ALLFFMAC[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-
- #define BRCMF_DEFAULT_SCAN_CHANNEL_TIME 40
- @@ -221,7 +225,7 @@ void __brcmf_dbg(u32 level, const char *
- }
- #endif
-
- -void brcmf_mp_attach(void)
- +static void brcmf_mp_attach(void)
- {
- strlcpy(brcmf_mp_global.firmware_path, brcmf_firmware_path,
- BRCMF_FW_ALTPATH_LEN);
- @@ -249,3 +253,33 @@ void brcmf_mp_device_detach(struct brcmf
- kfree(drvr->settings);
- }
-
- +static int __init brcmfmac_module_init(void)
- +{
- + int err;
- +
- + /* Initialize debug system first */
- + brcmf_debugfs_init();
- +
- +#ifdef CPTCFG_BRCMFMAC_SDIO
- + brcmf_sdio_init();
- +#endif
- + /* Initialize global module paramaters */
- + brcmf_mp_attach();
- +
- + /* Continue the initialization by registering the different busses */
- + err = brcmf_core_init();
- + if (err)
- + brcmf_debugfs_exit();
- +
- + return err;
- +}
- +
- +static void __exit brcmfmac_module_exit(void)
- +{
- + brcmf_core_exit();
- + brcmf_debugfs_exit();
- +}
- +
- +module_init(brcmfmac_module_init);
- +module_exit(brcmfmac_module_exit);
- +
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
- @@ -89,7 +89,6 @@ struct brcmf_mp_device {
- struct cc_translate *country_codes;
- };
-
- -void brcmf_mp_attach(void);
- int brcmf_mp_device_attach(struct brcmf_pub *drvr);
- void brcmf_mp_device_detach(struct brcmf_pub *drvr);
- #ifdef DEBUG
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
- @@ -38,10 +38,6 @@
- #include "pcie.h"
- #include "common.h"
-
- -MODULE_AUTHOR("Broadcom Corporation");
- -MODULE_DESCRIPTION("Broadcom 802.11 wireless LAN fullmac driver.");
- -MODULE_LICENSE("Dual BSD/GPL");
- -
- #define MAX_WAIT_FOR_8021X_TX msecs_to_jiffies(950)
-
- /* AMPDU rx reordering definitions */
- @@ -1422,19 +1418,15 @@ static void brcmf_driver_register(struct
- }
- static DECLARE_WORK(brcmf_driver_work, brcmf_driver_register);
-
- -static int __init brcmfmac_module_init(void)
- +int __init brcmf_core_init(void)
- {
- - brcmf_debugfs_init();
- -#ifdef CPTCFG_BRCMFMAC_SDIO
- - brcmf_sdio_init();
- -#endif
- if (!schedule_work(&brcmf_driver_work))
- return -EBUSY;
-
- return 0;
- }
-
- -static void __exit brcmfmac_module_exit(void)
- +void __exit brcmf_core_exit(void)
- {
- cancel_work_sync(&brcmf_driver_work);
-
- @@ -1447,8 +1439,5 @@ static void __exit brcmfmac_module_exit(
- #ifdef CPTCFG_BRCMFMAC_PCIE
- brcmf_pcie_exit();
- #endif
- - brcmf_debugfs_exit();
- }
-
- -module_init(brcmfmac_module_init);
- -module_exit(brcmfmac_module_exit);
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
- @@ -227,5 +227,7 @@ void brcmf_txflowblock_if(struct brcmf_i
- void brcmf_txfinalize(struct brcmf_if *ifp, struct sk_buff *txp, bool success);
- void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb);
- void brcmf_net_setcarrier(struct brcmf_if *ifp, bool on);
- +int __init brcmf_core_init(void);
- +void __exit brcmf_core_exit(void);
-
- #endif /* BRCMFMAC_CORE_H */
|