The sdio_drv_priv structure is a small wrapper around sdio_driver in
linux/mmc/sdio_func.h with an added drv_registered integer.

drv_registered is never used anywhere in the driver and only assigned to
during the sdio registering and unregistering process. We can safely
remove sdio_drv_priv and use the sdio_driver structure directly.

Signed-off-by: Bryan Brattlof <he...@bryanbrattlof.com>
---
 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 32 ++++++--------------
 1 file changed, 9 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c 
b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index a8ef95ab14da..816b5bf6e3ed 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -36,17 +36,12 @@ static const struct dev_pm_ops rtw_sdio_pm_ops = {
        .resume = rtw_sdio_resume,
 };
 
-struct sdio_drv_priv {
-       struct sdio_driver r871xs_drv;
-       int drv_registered;
-};
-
-static struct sdio_drv_priv sdio_drvpriv = {
-       .r871xs_drv.probe = rtw_drv_init,
-       .r871xs_drv.remove = rtw_dev_remove,
-       .r871xs_drv.name = "rtl8723bs",
-       .r871xs_drv.id_table = sdio_ids,
-       .r871xs_drv.drv = {
+static struct sdio_driver rtl8723bs_sdio_driver = {
+       .probe = rtw_drv_init,
+       .remove = rtw_dev_remove,
+       .name = "rtl8723bs",
+       .id_table = sdio_ids,
+       .drv = {
                .pm = &rtw_sdio_pm_ops,
        }
 };
@@ -498,18 +493,11 @@ static int __init rtw_drv_entry(void)
        DBG_871X_LEVEL(_drv_always_, "rtl8723bs BT-Coex version = %s\n", 
BTCOEXVERSION);
 #endif /*  BTCOEXVERSION */
 
-       sdio_drvpriv.drv_registered = true;
 
-       ret = sdio_register_driver(&sdio_drvpriv.r871xs_drv);
-       if (ret != 0) {
-               sdio_drvpriv.drv_registered = false;
+       ret = sdio_register_driver(&rtl8723bs_sdio_driver);
+       if (ret != 0)
                rtw_ndev_notifier_unregister();
-               goto exit;
-       }
 
-       goto exit;
-
-exit:
        DBG_871X_LEVEL(_drv_always_, "module init ret =%d\n", ret);
        return ret;
 }
@@ -518,9 +506,7 @@ static void __exit rtw_drv_halt(void)
 {
        DBG_871X_LEVEL(_drv_always_, "module exit start\n");
 
-       sdio_drvpriv.drv_registered = false;
-
-       sdio_unregister_driver(&sdio_drvpriv.r871xs_drv);
+       sdio_unregister_driver(&rtl8723bs_sdio_driver);
 
        rtw_ndev_notifier_unregister();
 
-- 
2.27.0


Reply via email to