lkml.org 
[lkml]   [2020]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/5] staging: rtl8723bs: refactor cckrates{only}_included
From
Date
On Sat, 2020-09-12 at 10:45 +0200, Michael Straube wrote:
> Refactor cckrates_included() and cckratesonly_included() to simplify
> the code and improve readability.
>
> Signed-off-by: Michael Straube <straube.linux@gmail.com>
> ---
> drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> index a5790a648a5b..4e0d86b2e2e0 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> @@ -56,11 +56,12 @@ static u8 rtw_basic_rate_ofdm[3] = {
>
> int cckrates_included(unsigned char *rate, int ratelen)
> {
> - int i;
> + int i;
>
> for (i = 0; i < ratelen; i++) {
> - if ((((rate[i]) & 0x7f) == 2) || (((rate[i]) & 0x7f) == 4) ||
> - (((rate[i]) & 0x7f) == 11) || (((rate[i]) & 0x7f) == 22))
> + u8 r = rate[i] & 0x7f;
> +
> + if (r == 2 || r == 4 || r == 11 || r == 22)
> return true;
> }
>
> @@ -69,11 +70,12 @@ int cckrates_included(unsigned char *rate, int ratelen)
>
> int cckratesonly_included(unsigned char *rate, int ratelen)
> {
> - int i;
> + int i;
>
> for (i = 0; i < ratelen; i++) {
> - if ((((rate[i]) & 0x7f) != 2) && (((rate[i]) & 0x7f) != 4) &&
> - (((rate[i]) & 0x7f) != 11) && (((rate[i]) & 0x7f) != 22))
> + u8 r = rate[i] & 0x7f;
> +
> + if (r != 2 && r != 4 && r != 11 && r != 22)
> return false;

It would be simpler to add and use an inline like:

static bool is_cckrate(unsigned char rate)
{
rate &= 0x7f;
return rate == 2 || rate == 4 || rate == 11 || rate == 22;
}

so these could be

bool cckrates_included(unsigned char *rate, int ratelen)
{
int i;

for (i = 0; i < ratelen; i++) {
if (is_cckrate(rate[i])
return true;
}

return false;
}

bool cckratesonly_included(unsigned char *rate, int ratelen)
{
int i;

if (i <= 0)
return false;

for (i = 0; i < ratelen; i++) {
if (!is_cckrate(rate[i])
return false;
}

return true;
}


\
 
 \ /
  Last update: 2020-09-12 20:23    [W:0.051 / U:4.464 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site