OSDN Git Service

rtlwifi: rtl8192de: make arrays static const, makes object smaller
authorColin Ian King <colin.king@canonical.com>
Tue, 3 Aug 2021 14:49:48 +0000 (15:49 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 21 Aug 2021 17:32:38 +0000 (20:32 +0300)
Don't populate arrays the stack but instead make them static const. Replace
array channel_info with channel_all since it contains the same data as
channel_all. Makes object code smaller by 961 bytes.

Before:
   text    data     bss     dec    hex filename
 128147   44250    1024  173421  2a56d ../realtek/rtlwifi/rtl8192de/phy.o

After
   text    data     bss     dec    hex filename
 127122   44314    1024  172460  2a1ac ../realtek/rtlwifi/rtl8192de/phy.o

(gcc version 10.2.0)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210803144949.79433-2-colin.king@canonical.com
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c

index 50c2d8f..8ae69d9 100644 (file)
@@ -160,6 +160,15 @@ static u32 targetchnl_2g[TARGET_CHNL_NUM_2G] = {
        25711, 25658, 25606, 25554, 25502, 25451, 25328
 };
 
+static const u8 channel_all[59] = {
+       1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+       36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
+       60, 62, 64, 100, 102, 104, 106, 108, 110, 112,
+       114, 116, 118, 120, 122, 124, 126, 128, 130,
+       132, 134, 136, 138, 140, 149, 151, 153, 155,
+       157, 159, 161, 163, 165
+};
+
 static u32 _rtl92d_phy_calculate_bit_shift(u32 bitmask)
 {
        u32 i = ffs(bitmask);
@@ -1354,14 +1363,6 @@ static void _rtl92d_phy_switch_rf_setting(struct ieee80211_hw *hw, u8 channel)
 
 u8 rtl92d_get_rightchnlplace_for_iqk(u8 chnl)
 {
-       u8 channel_all[59] = {
-               1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
-               36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
-               60, 62, 64, 100, 102, 104, 106, 108, 110, 112,
-               114, 116, 118, 120, 122, 124, 126, 128, 130,
-               132, 134, 136, 138, 140, 149, 151, 153, 155,
-               157, 159, 161, 163, 165
-       };
        u8 place = chnl;
 
        if (chnl > 14) {
@@ -3220,37 +3221,28 @@ void rtl92d_phy_config_macphymode_info(struct ieee80211_hw *hw)
 u8 rtl92d_get_chnlgroup_fromarray(u8 chnl)
 {
        u8 group;
-       u8 channel_info[59] = {
-               1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
-               36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56,
-               58, 60, 62, 64, 100, 102, 104, 106, 108,
-               110, 112, 114, 116, 118, 120, 122, 124,
-               126, 128, 130, 132, 134, 136, 138, 140,
-               149, 151, 153, 155, 157, 159, 161, 163,
-               165
-       };
 
-       if (channel_info[chnl] <= 3)
+       if (channel_all[chnl] <= 3)
                group = 0;
-       else if (channel_info[chnl] <= 9)
+       else if (channel_all[chnl] <= 9)
                group = 1;
-       else if (channel_info[chnl] <= 14)
+       else if (channel_all[chnl] <= 14)
                group = 2;
-       else if (channel_info[chnl] <= 44)
+       else if (channel_all[chnl] <= 44)
                group = 3;
-       else if (channel_info[chnl] <= 54)
+       else if (channel_all[chnl] <= 54)
                group = 4;
-       else if (channel_info[chnl] <= 64)
+       else if (channel_all[chnl] <= 64)
                group = 5;
-       else if (channel_info[chnl] <= 112)
+       else if (channel_all[chnl] <= 112)
                group = 6;
-       else if (channel_info[chnl] <= 126)
+       else if (channel_all[chnl] <= 126)
                group = 7;
-       else if (channel_info[chnl] <= 140)
+       else if (channel_all[chnl] <= 140)
                group = 8;
-       else if (channel_info[chnl] <= 153)
+       else if (channel_all[chnl] <= 153)
                group = 9;
-       else if (channel_info[chnl] <= 159)
+       else if (channel_all[chnl] <= 159)
                group = 10;
        else
                group = 11;