summaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8723bs/core
diff options
context:
space:
mode:
authorMichael Straube <straube.linux@gmail.com>2022-04-01 00:41:46 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-04-04 08:33:49 +0300
commit8a56b5ce774e4fd9aaa8959a706fc3bb226bf3d8 (patch)
tree611ce6240e8c97222dbe53d29ec080a1fa4283a3 /drivers/staging/rtl8723bs/core
parentf232da0fa9151571ddfd830e0d1cd8941e60b5be (diff)
downloadlinux-8a56b5ce774e4fd9aaa8959a706fc3bb226bf3d8.tar.xz
staging: rtl8723bs: refactor rtw_ch2freq()
Convert the array ch_freq_map to a simple integer array and use the indices as channel numbers. This simplifies the code and avoids looping through the array to get the frequency. To avoid out of bounds array access return a default value for invalid channel values, like the original code did. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220331214146.15161-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8723bs/core')
-rw-r--r--drivers/staging/rtl8723bs/core/rtw_rf.c40
1 files changed, 18 insertions, 22 deletions
diff --git a/drivers/staging/rtl8723bs/core/rtw_rf.c b/drivers/staging/rtl8723bs/core/rtw_rf.c
index 7e4bf42fd1ac..4f120c894998 100644
--- a/drivers/staging/rtl8723bs/core/rtw_rf.c
+++ b/drivers/staging/rtl8723bs/core/rtw_rf.c
@@ -8,31 +8,27 @@
#include <drv_types.h>
#include <linux/kernel.h>
-
-struct ch_freq {
- u32 channel;
- u32 frequency;
-};
-
-static struct ch_freq ch_freq_map[] = {
- {1, 2412}, {2, 2417}, {3, 2422}, {4, 2427}, {5, 2432},
- {6, 2437}, {7, 2442}, {8, 2447}, {9, 2452}, {10, 2457},
- {11, 2462}, {12, 2467}, {13, 2472}, {14, 2484},
+static const u32 ch_freq_map[] = {
+ 2412,
+ 2417,
+ 2422,
+ 2427,
+ 2432,
+ 2437,
+ 2442,
+ 2447,
+ 2452,
+ 2457,
+ 2462,
+ 2467,
+ 2472,
+ 2484
};
u32 rtw_ch2freq(u32 channel)
{
- u8 i;
- u32 freq = 0;
-
- for (i = 0; i < ARRAY_SIZE(ch_freq_map); i++) {
- if (channel == ch_freq_map[i].channel) {
- freq = ch_freq_map[i].frequency;
- break;
- }
- }
- if (i == ARRAY_SIZE(ch_freq_map))
- freq = 2412;
+ if (channel == 0 || channel > ARRAY_SIZE(ch_freq_map))
+ return 2412;
- return freq;
+ return ch_freq_map[channel - 1];
}