staging: rtl8188eu: remove padapter from struct cmd_priv
authorMartin Kaiser <martin@kaiser.cx>
Wed, 5 May 2021 20:26:20 +0000 (22:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 May 2021 09:19:41 +0000 (11:19 +0200)
struct cmd_priv is an element of struct adapter. Use container_of
to get a pointer to the enclosing struct.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210505202622.11087-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_cmd.c
drivers/staging/rtl8188eu/include/rtw_cmd.h
drivers/staging/rtl8188eu/os_dep/os_intfs.c

index 955899f334e6aa625fa96ed188ff4b05f7952cba..64e83684fb81b87cc0eb1c73f3eefbd2481eb02c 100644 (file)
@@ -103,11 +103,12 @@ struct cmd_obj *rtw_dequeue_cmd(struct __queue *queue)
 
 static int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
 {
+       struct adapter *padapter = container_of(pcmdpriv, struct adapter, cmdpriv);
        u8 bAllow = false; /* set to true to allow enqueuing cmd when hw_init_completed is false */
 
        /* To decide allow or not */
-       if ((pcmdpriv->padapter->pwrctrlpriv.bHWPwrPindetect) &&
-           (!pcmdpriv->padapter->registrypriv.usbss_enable)) {
+       if ((padapter->pwrctrlpriv.bHWPwrPindetect) &&
+           (!padapter->registrypriv.usbss_enable)) {
                if (cmd_obj->cmdcode == _Set_Drv_Extra_CMD_) {
                        struct drvextra_cmd_parm        *pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)cmd_obj->parmbuf;
 
@@ -119,7 +120,7 @@ static int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
        if (cmd_obj->cmdcode == _SetChannelPlan_CMD_)
                bAllow = true;
 
-       if ((!pcmdpriv->padapter->hw_init_completed && !bAllow) ||
+       if ((!padapter->hw_init_completed && !bAllow) ||
            !pcmdpriv->cmdthd_running)  /* com_thread not running */
                return _FAIL;
        return _SUCCESS;
@@ -128,7 +129,7 @@ static int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
 u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
 {
        int res = _FAIL;
-       struct adapter *padapter = pcmdpriv->padapter;
+       struct adapter *padapter = container_of(pcmdpriv, struct adapter, cmdpriv);
 
        if (!cmd_obj)
                goto exit;
index cb0eb4a1d2b78f075fade19560c521f16cb2a096..0261cd931c3517e8e09cca1778cf517174e14121 100644 (file)
@@ -35,7 +35,6 @@ struct cmd_priv {
        struct completion terminate_cmdthread_comp;
        struct __queue cmd_queue;
        u8 cmdthd_running;
-       struct adapter *padapter;
 };
 
 #define init_h2fwcmd_w_parm_no_rsp(pcmd, pparm, code) \
index 193895338cf0b99f2b536551880a42dfacd911b5..5207cb0c60cd595c453799d15e09d418a4fe6b96 100644 (file)
@@ -423,8 +423,6 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
 
        rtw_init_cmd_priv(&padapter->cmdpriv);
 
-       padapter->cmdpriv.padapter = padapter;
-
        if (rtw_init_mlme_priv(padapter) == _FAIL) {
                RT_TRACE(_module_os_intfs_c_, _drv_err_, ("\n Can't init mlme_priv\n"));
                ret8 = _FAIL;