public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Philipp Hortmann <philipp.g.hortmann@gmail.com>
To: Michael Straube <straube.linux@gmail.com>, gregkh@linuxfoundation.org
Cc: Larry.Finger@lwfinger.net, phil@philpotter.co.uk,
	linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] staging: r8188eu: make c2h_evt_read() static
Date: Fri, 9 Sep 2022 19:39:32 +0200	[thread overview]
Message-ID: <d8e32b2a-380c-842b-cd9e-2da1bff1909b@gmail.com> (raw)
In-Reply-To: <20220909100232.8305-1-straube.linux@gmail.com>

On 9/9/22 12:02, Michael Straube wrote:
> The function c2h_evt_read() is only used in rtw_cmd.c.
> Make it static.
> 
> This addresses the TODO item:
> * Remove the HAL layer and migrate its functionality into the relevant
>    parts of the driver.
> 
> Signed-off-by: Michael Straube <straube.linux@gmail.com>
> ---
>   drivers/staging/r8188eu/core/rtw_cmd.c    | 60 +++++++++++++++++++++
>   drivers/staging/r8188eu/hal/hal_com.c     | 63 -----------------------
>   drivers/staging/r8188eu/include/hal_com.h |  2 -
>   3 files changed, 60 insertions(+), 65 deletions(-)
> 
> diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
> index 4be83807405c..ca1f2cc52470 100644
> --- a/drivers/staging/r8188eu/core/rtw_cmd.c
> +++ b/drivers/staging/r8188eu/core/rtw_cmd.c
> @@ -1277,6 +1277,66 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
>   	return res;
>   }
>   
> +/* C2H event format:
> + * Field    TRIGGER      CONTENT     CMD_SEQ    CMD_LEN    CMD_ID
> + * BITS     [127:120]    [119:16]    [15:8]     [7:4]      [3:0]
> + */
> +static s32 c2h_evt_read(struct adapter *adapter, u8 *buf)
> +{
> +	s32 ret = _FAIL;
> +	struct c2h_evt_hdr *c2h_evt;
> +	int i;
> +	u8 trigger;
> +
> +	if (!buf)
> +		goto exit;
> +
> +	ret = rtw_read8(adapter, REG_C2HEVT_CLEAR, &trigger);
> +	if (ret)
> +		return _FAIL;
> +
> +	if (trigger == C2H_EVT_HOST_CLOSE)
> +		goto exit; /* Not ready */
> +	else if (trigger != C2H_EVT_FW_CLOSE)
> +		goto clear_evt; /* Not a valid value */
> +
> +	c2h_evt = (struct c2h_evt_hdr *)buf;
> +
> +	memset(c2h_evt, 0, 16);
> +
> +	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL, buf);
> +	if (ret) {
> +		ret = _FAIL;
> +		goto clear_evt;
> +	}
> +
> +	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1, buf + 1);
> +	if (ret) {
> +		ret = _FAIL;
> +		goto clear_evt;
> +	}
> +	/* Read the content */
> +	for (i = 0; i < c2h_evt->plen; i++) {
> +		ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL +
> +				sizeof(*c2h_evt) + i, c2h_evt->payload + i);
> +		if (ret) {
> +			ret = _FAIL;
> +			goto clear_evt;
> +		}
> +	}
> +
> +	ret = _SUCCESS;
> +
> +clear_evt:
> +	/* Clear event to notify FW we have read the command.
> +	 * If this field isn't clear, the FW won't update the next
> +	 * command message.
> +	 */
> +	rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE);
> +exit:
> +	return ret;
> +}
> +
>   static void c2h_evt_hdl(struct adapter *adapter, struct c2h_evt_hdr *c2h_evt, c2h_id_filter filter)
>   {
>   	u8 buf[16];
> diff --git a/drivers/staging/r8188eu/hal/hal_com.c b/drivers/staging/r8188eu/hal/hal_com.c
> index 8416a65ba47b..33967eb3c0d0 100644
> --- a/drivers/staging/r8188eu/hal/hal_com.c
> +++ b/drivers/staging/r8188eu/hal/hal_com.c
> @@ -137,66 +137,3 @@ void HalSetBrateCfg(struct adapter *adapt, u8 *brates, u16 *rate_cfg)
>   		}
>   	}
>   }
> -
> -/*
> -* C2H event format:
> -* Field	 TRIGGER		CONTENT	   CMD_SEQ	CMD_LEN		 CMD_ID
> -* BITS	 [127:120]	[119:16]      [15:8]		  [7:4]		   [3:0]
> -*/
> -
> -s32 c2h_evt_read(struct adapter *adapter, u8 *buf)
> -{
> -	s32 ret = _FAIL;
> -	struct c2h_evt_hdr *c2h_evt;
> -	int i;
> -	u8 trigger;
> -
> -	if (!buf)
> -		goto exit;
> -
> -	ret = rtw_read8(adapter, REG_C2HEVT_CLEAR, &trigger);
> -	if (ret)
> -		return _FAIL;
> -
> -	if (trigger == C2H_EVT_HOST_CLOSE)
> -		goto exit; /* Not ready */
> -	else if (trigger != C2H_EVT_FW_CLOSE)
> -		goto clear_evt; /* Not a valid value */
> -
> -	c2h_evt = (struct c2h_evt_hdr *)buf;
> -
> -	memset(c2h_evt, 0, 16);
> -
> -	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL, buf);
> -	if (ret) {
> -		ret = _FAIL;
> -		goto clear_evt;
> -	}
> -
> -	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1, buf + 1);
> -	if (ret) {
> -		ret = _FAIL;
> -		goto clear_evt;
> -	}
> -	/* Read the content */
> -	for (i = 0; i < c2h_evt->plen; i++) {
> -		ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL +
> -						sizeof(*c2h_evt) + i, c2h_evt->payload + i);
> -		if (ret) {
> -			ret = _FAIL;
> -			goto clear_evt;
> -		}
> -	}
> -
> -	ret = _SUCCESS;
> -
> -clear_evt:
> -	/*
> -	* Clear event to notify FW we have read the command.
> -	* If this field isn't clear, the FW won't update the next
> -	* command message.
> -	*/
> -	rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE);
> -exit:
> -	return ret;
> -}
> diff --git a/drivers/staging/r8188eu/include/hal_com.h b/drivers/staging/r8188eu/include/hal_com.h
> index e8007295cd79..cd3f845e146a 100644
> --- a/drivers/staging/r8188eu/include/hal_com.h
> +++ b/drivers/staging/r8188eu/include/hal_com.h
> @@ -143,6 +143,4 @@ u8 MRateToHwRate(u8 rate);
>   
>   void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg);
>   
> -s32 c2h_evt_read(struct adapter *adapter, u8 *buf);
> -
>   #endif /* __HAL_COMMON_H__ */

Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150

      reply	other threads:[~2022-09-09 17:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09 10:02 [PATCH] staging: r8188eu: make c2h_evt_read() static Michael Straube
2022-09-09 17:39 ` Philipp Hortmann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d8e32b2a-380c-842b-cd9e-2da1bff1909b@gmail.com \
    --to=philipp.g.hortmann@gmail.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=phil@philpotter.co.uk \
    --cc=straube.linux@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox