From: Ivan Safonov <insafonov@gmail.com>
To: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Michael Straube <straube.linux@gmail.com>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Peilin Ye <yepeilin.cs@gmail.com>,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
Ivan Safonov <insafonov@gmail.com>
Subject: [PATCH 1/2] staging:r8188eu: refactor OnAction(): use switch instead table lookup
Date: Sun, 28 Mar 2021 19:33:23 +0300 [thread overview]
Message-ID: <20210328163323.53163-1-insafonov@gmail.com> (raw)
The switch is easier to read and refactor.
Signed-off-by: Ivan Safonov <insafonov@gmail.com>
---
drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 57 ++++++++++++-------
.../staging/rtl8188eu/include/rtw_mlme_ext.h | 6 --
2 files changed, 37 insertions(+), 26 deletions(-)
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 50d3c3631be0..4d741737d671 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -3780,26 +3780,10 @@ static unsigned int DoReserved(struct adapter *padapter,
return _SUCCESS;
}
-static struct action_handler OnAction_tbl[] = {
- {RTW_WLAN_CATEGORY_SPECTRUM_MGMT, "ACTION_SPECTRUM_MGMT", on_action_spct},
- {RTW_WLAN_CATEGORY_QOS, "ACTION_QOS", &OnAction_qos},
- {RTW_WLAN_CATEGORY_DLS, "ACTION_DLS", &OnAction_dls},
- {RTW_WLAN_CATEGORY_BACK, "ACTION_BACK", &OnAction_back},
- {RTW_WLAN_CATEGORY_PUBLIC, "ACTION_PUBLIC", on_action_public},
- {RTW_WLAN_CATEGORY_RADIO_MEASUREMENT, "ACTION_RADIO_MEASUREMENT", &DoReserved},
- {RTW_WLAN_CATEGORY_FT, "ACTION_FT", &DoReserved},
- {RTW_WLAN_CATEGORY_HT, "ACTION_HT", &OnAction_ht},
- {RTW_WLAN_CATEGORY_SA_QUERY, "ACTION_SA_QUERY", &DoReserved},
- {RTW_WLAN_CATEGORY_WMM, "ACTION_WMM", &OnAction_wmm},
- {RTW_WLAN_CATEGORY_P2P, "ACTION_P2P", &OnAction_p2p},
-};
-
static unsigned int OnAction(struct adapter *padapter,
struct recv_frame *precv_frame)
{
- int i;
unsigned char category;
- struct action_handler *ptable;
unsigned char *frame_body;
u8 *pframe = precv_frame->pkt->data;
@@ -3807,11 +3791,44 @@ static unsigned int OnAction(struct adapter *padapter,
category = frame_body[0];
- for (i = 0; i < ARRAY_SIZE(OnAction_tbl); i++) {
- ptable = &OnAction_tbl[i];
- if (category == ptable->num)
- ptable->func(padapter, precv_frame);
+ switch (category) {
+ case RTW_WLAN_CATEGORY_SPECTRUM_MGMT:
+ on_action_spct(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_QOS:
+ OnAction_qos(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_DLS:
+ OnAction_dls(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_BACK:
+ OnAction_back(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_PUBLIC:
+ on_action_public(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_RADIO_MEASUREMENT:
+ DoReserved(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_FT:
+ DoReserved(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_HT:
+ OnAction_ht(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_SA_QUERY:
+ DoReserved(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_WMM:
+ OnAction_wmm(padapter, precv_frame);
+ break;
+ case RTW_WLAN_CATEGORY_P2P:
+ OnAction_p2p(padapter, precv_frame);
+ break;
+ default:
+ break;
}
+
return _SUCCESS;
}
diff --git a/drivers/staging/rtl8188eu/include/rtw_mlme_ext.h b/drivers/staging/rtl8188eu/include/rtw_mlme_ext.h
index b11a6886a083..aa733abad10c 100644
--- a/drivers/staging/rtl8188eu/include/rtw_mlme_ext.h
+++ b/drivers/staging/rtl8188eu/include/rtw_mlme_ext.h
@@ -227,12 +227,6 @@ struct mlme_handler {
unsigned int (*func)(struct adapter *adapt, struct recv_frame *frame);
};
-struct action_handler {
- unsigned int num;
- const char *str;
- unsigned int (*func)(struct adapter *adapt, struct recv_frame *frame);
-};
-
struct ss_res {
int state;
int bss_cnt;
--
2.26.2
next reply other threads:[~2021-03-28 16:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-28 16:33 Ivan Safonov [this message]
2021-03-28 16:33 ` [PATCH 2/2] staging:r8188eu: remove dummy handlers from OnAction() Ivan Safonov
2021-04-02 13:04 ` Greg Kroah-Hartman
2021-04-03 21:30 ` Ivan Safonov
2021-04-04 9:56 ` Greg Kroah-Hartman
2021-04-02 13:04 ` [PATCH 1/2] staging:r8188eu: refactor OnAction(): use switch instead table lookup Greg Kroah-Hartman
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=20210328163323.53163-1-insafonov@gmail.com \
--to=insafonov@gmail.com \
--cc=Larry.Finger@lwfinger.net \
--cc=gregkh@linuxfoundation.org \
--cc=gustavoars@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=straube.linux@gmail.com \
--cc=yepeilin.cs@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;
as well as URLs for NNTP newsgroup(s).