diff options
author | Franky Lin <frankyl@broadcom.com> | 2011-11-22 20:21:47 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-28 14:43:36 -0500 |
commit | 3392c888bbe6fb939dea952ea90bea4dc969c234 (patch) | |
tree | c89559dbc26b8f9e8b00b2679324fd076ea5c578 | |
parent | 0c094c77ce9c338adc08d6d71b2d92a7761992b8 (diff) |
brcm80211: fmac: move module init/exit to sdio layer
This patch is part of the fullmac bus interface refactoring series.
It moves the module init/exit code to bus layer.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c | 19 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | 28 |
3 files changed, 14 insertions, 37 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c index adee3057d330..7a2325b2a564 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c | |||
@@ -577,17 +577,26 @@ static struct sdio_driver brcmf_sdmmc_driver = { | |||
577 | #endif /* CONFIG_PM_SLEEP */ | 577 | #endif /* CONFIG_PM_SLEEP */ |
578 | }; | 578 | }; |
579 | 579 | ||
580 | /* bus register interface */ | 580 | static void __exit brcmf_sdio_exit(void) |
581 | int brcmf_bus_register(void) | ||
582 | { | 581 | { |
583 | brcmf_dbg(TRACE, "Enter\n"); | 582 | brcmf_dbg(TRACE, "Enter\n"); |
584 | 583 | ||
585 | return sdio_register_driver(&brcmf_sdmmc_driver); | 584 | sdio_unregister_driver(&brcmf_sdmmc_driver); |
586 | } | 585 | } |
587 | 586 | ||
588 | void brcmf_bus_unregister(void) | 587 | static int __init brcmf_sdio_init(void) |
589 | { | 588 | { |
589 | int ret; | ||
590 | |||
590 | brcmf_dbg(TRACE, "Enter\n"); | 591 | brcmf_dbg(TRACE, "Enter\n"); |
591 | 592 | ||
592 | sdio_unregister_driver(&brcmf_sdmmc_driver); | 593 | ret = sdio_register_driver(&brcmf_sdmmc_driver); |
594 | |||
595 | if (ret) | ||
596 | brcmf_dbg(ERROR, "sdio_register_driver failed: %d\n", ret); | ||
597 | |||
598 | return ret; | ||
593 | } | 599 | } |
600 | |||
601 | module_init(brcmf_sdio_init); | ||
602 | module_exit(brcmf_sdio_exit); | ||
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h index a249407c9a1b..118216b1ee29 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h | |||
@@ -27,10 +27,6 @@ | |||
27 | * Exported from brcmf bus module (brcmf_usb, brcmf_sdio) | 27 | * Exported from brcmf bus module (brcmf_usb, brcmf_sdio) |
28 | */ | 28 | */ |
29 | 29 | ||
30 | /* Indicate (dis)interest in finding dongles. */ | ||
31 | extern int brcmf_bus_register(void); | ||
32 | extern void brcmf_bus_unregister(void); | ||
33 | |||
34 | /* obtain linux device object providing bus function */ | 30 | /* obtain linux device object providing bus function */ |
35 | extern struct device *brcmf_bus_get_device(struct brcmf_bus *bus); | 31 | extern struct device *brcmf_bus_get_device(struct brcmf_bus *bus); |
36 | 32 | ||
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c index 62413e861784..73d328027e19 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c | |||
@@ -1147,34 +1147,6 @@ void brcmf_detach(struct brcmf_pub *drvr) | |||
1147 | } | 1147 | } |
1148 | } | 1148 | } |
1149 | 1149 | ||
1150 | static void __exit brcmf_module_cleanup(void) | ||
1151 | { | ||
1152 | brcmf_dbg(TRACE, "Enter\n"); | ||
1153 | |||
1154 | brcmf_bus_unregister(); | ||
1155 | } | ||
1156 | |||
1157 | static int __init brcmf_module_init(void) | ||
1158 | { | ||
1159 | int error; | ||
1160 | |||
1161 | brcmf_dbg(TRACE, "Enter\n"); | ||
1162 | |||
1163 | error = brcmf_bus_register(); | ||
1164 | |||
1165 | if (error) { | ||
1166 | brcmf_dbg(ERROR, "brcmf_bus_register failed\n"); | ||
1167 | goto failed; | ||
1168 | } | ||
1169 | return 0; | ||
1170 | |||
1171 | failed: | ||
1172 | return -EINVAL; | ||
1173 | } | ||
1174 | |||
1175 | module_init(brcmf_module_init); | ||
1176 | module_exit(brcmf_module_cleanup); | ||
1177 | |||
1178 | int brcmf_os_proto_block(struct brcmf_pub *drvr) | 1150 | int brcmf_os_proto_block(struct brcmf_pub *drvr) |
1179 | { | 1151 | { |
1180 | struct brcmf_info *drvr_priv = drvr->info; | 1152 | struct brcmf_info *drvr_priv = drvr->info; |