}
 
 /* string is in decimal */
-static bool _rtl8812ae_get_integer_from_string(char *str, u8 *pint)
+static bool _rtl8812ae_get_integer_from_string(const char *str, u8 *pint)
 {
        u16 i = 0;
        *pint = 0;
        return true;
 }
 
-static bool _rtl8812ae_eq_n_byte(u8 *str1, u8 *str2, u32 num)
+static bool _rtl8812ae_eq_n_byte(const char *str1, const char *str2, u32 num)
 {
        if (num == 0)
                return false;
        return channel_index;
 }
 
-static void _rtl8812ae_phy_set_txpower_limit(struct ieee80211_hw *hw, u8 *pregulation,
-                                     u8 *pband, u8 *pbandwidth,
-                                     u8 *prate_section, u8 *prf_path,
-                                     u8 *pchannel, u8 *ppower_limit)
+static void _rtl8812ae_phy_set_txpower_limit(struct ieee80211_hw *hw,
+                                     const char *pregulation,
+                                     const char *pband, const char *pbandwidth,
+                                     const char *prate_section, const char *prf_path,
+                                     const char *pchannel, const char *ppower_limit)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_phy *rtlphy = &rtlpriv->phy;
        u8 channel_index;
        s8 power_limit = 0, prev_power_limit, ret;
 
-       if (!_rtl8812ae_get_integer_from_string((char *)pchannel, &channel) ||
-           !_rtl8812ae_get_integer_from_string((char *)ppower_limit,
+       if (!_rtl8812ae_get_integer_from_string(pchannel, &channel) ||
+           !_rtl8812ae_get_integer_from_string(ppower_limit,
                                                &power_limit)) {
                rtl_dbg(rtlpriv, COMP_INIT, DBG_TRACE,
                        "Illegal index of pwr_lmt table [chnl %d][val %d]\n",
        power_limit = power_limit > MAX_POWER_INDEX ?
                      MAX_POWER_INDEX : power_limit;
 
-       if (_rtl8812ae_eq_n_byte(pregulation, (u8 *)("FCC"), 3))
+       if (_rtl8812ae_eq_n_byte(pregulation, "FCC", 3))
                regulation = 0;
-       else if (_rtl8812ae_eq_n_byte(pregulation, (u8 *)("MKK"), 3))
+       else if (_rtl8812ae_eq_n_byte(pregulation, "MKK", 3))
                regulation = 1;
-       else if (_rtl8812ae_eq_n_byte(pregulation, (u8 *)("ETSI"), 4))
+       else if (_rtl8812ae_eq_n_byte(pregulation, "ETSI", 4))
                regulation = 2;
-       else if (_rtl8812ae_eq_n_byte(pregulation, (u8 *)("WW13"), 4))
+       else if (_rtl8812ae_eq_n_byte(pregulation, "WW13", 4))
                regulation = 3;
 
-       if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("CCK"), 3))
+       if (_rtl8812ae_eq_n_byte(prate_section, "CCK", 3))
                rate_section = 0;
-       else if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("OFDM"), 4))
+       else if (_rtl8812ae_eq_n_byte(prate_section, "OFDM", 4))
                rate_section = 1;
-       else if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("HT"), 2) &&
-                _rtl8812ae_eq_n_byte(prf_path, (u8 *)("1T"), 2))
+       else if (_rtl8812ae_eq_n_byte(prate_section, "HT", 2) &&
+                _rtl8812ae_eq_n_byte(prf_path, "1T", 2))
                rate_section = 2;
-       else if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("HT"), 2) &&
-                _rtl8812ae_eq_n_byte(prf_path, (u8 *)("2T"), 2))
+       else if (_rtl8812ae_eq_n_byte(prate_section, "HT", 2) &&
+                _rtl8812ae_eq_n_byte(prf_path, "2T", 2))
                rate_section = 3;
-       else if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("VHT"), 3) &&
-                _rtl8812ae_eq_n_byte(prf_path, (u8 *)("1T"), 2))
+       else if (_rtl8812ae_eq_n_byte(prate_section, "VHT", 3) &&
+                _rtl8812ae_eq_n_byte(prf_path, "1T", 2))
                rate_section = 4;
-       else if (_rtl8812ae_eq_n_byte(prate_section, (u8 *)("VHT"), 3) &&
-                _rtl8812ae_eq_n_byte(prf_path, (u8 *)("2T"), 2))
+       else if (_rtl8812ae_eq_n_byte(prate_section, "VHT", 3) &&
+                _rtl8812ae_eq_n_byte(prf_path, "2T", 2))
                rate_section = 5;
 
-       if (_rtl8812ae_eq_n_byte(pbandwidth, (u8 *)("20M"), 3))
+       if (_rtl8812ae_eq_n_byte(pbandwidth, "20M", 3))
                bandwidth = 0;
-       else if (_rtl8812ae_eq_n_byte(pbandwidth, (u8 *)("40M"), 3))
+       else if (_rtl8812ae_eq_n_byte(pbandwidth, "40M", 3))
                bandwidth = 1;
-       else if (_rtl8812ae_eq_n_byte(pbandwidth, (u8 *)("80M"), 3))
+       else if (_rtl8812ae_eq_n_byte(pbandwidth, "80M", 3))
                bandwidth = 2;
-       else if (_rtl8812ae_eq_n_byte(pbandwidth, (u8 *)("160M"), 4))
+       else if (_rtl8812ae_eq_n_byte(pbandwidth, "160M", 4))
                bandwidth = 3;
 
-       if (_rtl8812ae_eq_n_byte(pband, (u8 *)("2.4G"), 4)) {
+       if (_rtl8812ae_eq_n_byte(pband, "2.4G", 4)) {
                ret = _rtl8812ae_phy_get_chnl_idx_of_txpwr_lmt(hw,
                                                               BAND_ON_2_4G,
                                                               channel);
                        regulation, bandwidth, rate_section, channel_index,
                        rtlphy->txpwr_limit_2_4g[regulation][bandwidth]
                                [rate_section][channel_index][RF90_PATH_A]);
-       } else if (_rtl8812ae_eq_n_byte(pband, (u8 *)("5G"), 2)) {
+       } else if (_rtl8812ae_eq_n_byte(pband, "5G", 2)) {
                ret = _rtl8812ae_phy_get_chnl_idx_of_txpwr_lmt(hw,
                                                               BAND_ON_5G,
                                                               channel);
 }
 
 static void _rtl8812ae_phy_config_bb_txpwr_lmt(struct ieee80211_hw *hw,
-                                         u8 *regulation, u8 *band,
-                                         u8 *bandwidth, u8 *rate_section,
-                                         u8 *rf_path, u8 *channel,
-                                         u8 *power_limit)
+                                         const char *regulation, const char *band,
+                                         const char *bandwidth, const char *rate_section,
+                                         const char *rf_path, const char *channel,
+                                         const char *power_limit)
 {
        _rtl8812ae_phy_set_txpower_limit(hw, regulation, band, bandwidth,
                                         rate_section, rf_path, channel,
        struct rtl_hal *rtlhal = rtl_hal(rtlpriv);
        u32 i = 0;
        u32 array_len;
-       u8 **array;
+       const char **array;
 
        if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE) {
                array_len = RTL8812AE_TXPWR_LMT_ARRAY_LEN;
        rtl_dbg(rtlpriv, COMP_INIT, DBG_TRACE, "\n");
 
        for (i = 0; i < array_len; i += 7) {
-               u8 *regulation = array[i];
-               u8 *band = array[i+1];
-               u8 *bandwidth = array[i+2];
-               u8 *rate = array[i+3];
-               u8 *rf_path = array[i+4];
-               u8 *chnl = array[i+5];
-               u8 *val = array[i+6];
+               const char *regulation = array[i];
+               const char *band = array[i+1];
+               const char *bandwidth = array[i+2];
+               const char *rate = array[i+3];
+               const char *rf_path = array[i+4];
+               const char *chnl = array[i+5];
+               const char *val = array[i+6];
 
                _rtl8812ae_phy_config_bb_txpwr_lmt(hw, regulation, band,
                                                   bandwidth, rate, rf_path,