|
@@ -464,8 +464,6 @@ static struct sdio_driver brcmf_sdmmc_driver = {
|
|
|
|
|
|
static int brcmf_sdio_pd_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
- int ret;
|
|
|
-
|
|
|
brcmf_dbg(SDIO, "Enter\n");
|
|
|
|
|
|
brcmfmac_sdio_pdata = pdev->dev.platform_data;
|
|
@@ -473,11 +471,7 @@ static int brcmf_sdio_pd_probe(struct platform_device *pdev)
|
|
|
if (brcmfmac_sdio_pdata->power_on)
|
|
|
brcmfmac_sdio_pdata->power_on();
|
|
|
|
|
|
- ret = sdio_register_driver(&brcmf_sdmmc_driver);
|
|
|
- if (ret)
|
|
|
- brcmf_err("sdio_register_driver failed: %d\n", ret);
|
|
|
-
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static int brcmf_sdio_pd_remove(struct platform_device *pdev)
|
|
@@ -500,6 +494,15 @@ static struct platform_driver brcmf_sdio_pd = {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+void brcmf_sdio_register(void)
|
|
|
+{
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = sdio_register_driver(&brcmf_sdmmc_driver);
|
|
|
+ if (ret)
|
|
|
+ brcmf_err("sdio_register_driver failed: %d\n", ret);
|
|
|
+}
|
|
|
+
|
|
|
void brcmf_sdio_exit(void)
|
|
|
{
|
|
|
brcmf_dbg(SDIO, "Enter\n");
|
|
@@ -510,18 +513,13 @@ void brcmf_sdio_exit(void)
|
|
|
sdio_unregister_driver(&brcmf_sdmmc_driver);
|
|
|
}
|
|
|
|
|
|
-void brcmf_sdio_init(void)
|
|
|
+void __init brcmf_sdio_init(void)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
brcmf_dbg(SDIO, "Enter\n");
|
|
|
|
|
|
ret = platform_driver_probe(&brcmf_sdio_pd, brcmf_sdio_pd_probe);
|
|
|
- if (ret == -ENODEV) {
|
|
|
- brcmf_dbg(SDIO, "No platform data available, registering without.\n");
|
|
|
- ret = sdio_register_driver(&brcmf_sdmmc_driver);
|
|
|
- }
|
|
|
-
|
|
|
- if (ret)
|
|
|
- brcmf_err("driver registration failed: %d\n", ret);
|
|
|
+ if (ret == -ENODEV)
|
|
|
+ brcmf_dbg(SDIO, "No platform data available.\n");
|
|
|
}
|