wifi: rtw89: regd: introduce string getter for reuse

Introduce a function to get the string for a given regulatory. It will be
used in the following. Besides, drop similar things in debug code and use
this too.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250326020643.14487-3-pkshih@realtek.com
This commit is contained in:
Zong-Zhe Yang
2025-03-26 10:06:33 +08:00
committed by Ping-Ke Shih
parent 8bde621f12
commit 4cecf99124
3 changed files with 34 additions and 28 deletions

View File

@@ -7185,6 +7185,7 @@ void rtw89_chip_cfg_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,
bool rtw89_ra_report_to_bitrate(struct rtw89_dev *rtwdev, u8 rpt_rate, u16 *bitrate);
int rtw89_regd_setup(struct rtw89_dev *rtwdev);
int rtw89_regd_init_hint(struct rtw89_dev *rtwdev);
const char *rtw89_regd_get_string(enum rtw89_regulation_type regd);
void rtw89_traffic_stats_init(struct rtw89_dev *rtwdev,
struct rtw89_traffic_stats *stats);
int rtw89_wait_for_cond(struct rtw89_wait_info *wait, unsigned int cond);

View File

@@ -854,11 +854,6 @@ static ssize_t __print_txpwr_map(struct rtw89_dev *rtwdev, char *buf, size_t buf
return p - buf;
}
#define case_REGD(_regd) \
case RTW89_ ## _regd: \
p += scnprintf(p, end - p, #_regd "\n"); \
break
static int __print_regd(struct rtw89_dev *rtwdev, char *buf, size_t bufsz,
const struct rtw89_chan *chan)
{
@@ -866,33 +861,11 @@ static int __print_regd(struct rtw89_dev *rtwdev, char *buf, size_t bufsz,
u8 band = chan->band_type;
u8 regd = rtw89_regd_get(rtwdev, band);
switch (regd) {
default:
p += scnprintf(p, end - p, "UNKNOWN: %d\n", regd);
break;
case_REGD(WW);
case_REGD(ETSI);
case_REGD(FCC);
case_REGD(MKK);
case_REGD(NA);
case_REGD(IC);
case_REGD(KCC);
case_REGD(NCC);
case_REGD(CHILE);
case_REGD(ACMA);
case_REGD(MEXICO);
case_REGD(UKRAINE);
case_REGD(CN);
case_REGD(QATAR);
case_REGD(UK);
case_REGD(THAILAND);
}
p += scnprintf(p, end - p, "%s\n", rtw89_regd_get_string(regd));
return p - buf;
}
#undef case_REGD
struct dbgfs_txpwr_table {
const struct txpwr_map *byr;
const struct txpwr_map *lmt;

View File

@@ -588,6 +588,38 @@ static void rtw89_regd_setup_6ghz(struct rtw89_dev *rtwdev, struct wiphy *wiphy)
kfree(sband);
}
#define RTW89_DEF_REGD_STR(regd) \
[RTW89_ ## regd] = #regd
static const char * const rtw89_regd_string[] = {
RTW89_DEF_REGD_STR(WW),
RTW89_DEF_REGD_STR(ETSI),
RTW89_DEF_REGD_STR(FCC),
RTW89_DEF_REGD_STR(MKK),
RTW89_DEF_REGD_STR(NA),
RTW89_DEF_REGD_STR(IC),
RTW89_DEF_REGD_STR(KCC),
RTW89_DEF_REGD_STR(ACMA),
RTW89_DEF_REGD_STR(NCC),
RTW89_DEF_REGD_STR(MEXICO),
RTW89_DEF_REGD_STR(CHILE),
RTW89_DEF_REGD_STR(UKRAINE),
RTW89_DEF_REGD_STR(CN),
RTW89_DEF_REGD_STR(QATAR),
RTW89_DEF_REGD_STR(UK),
RTW89_DEF_REGD_STR(THAILAND),
};
static_assert(ARRAY_SIZE(rtw89_regd_string) == RTW89_REGD_NUM);
const char *rtw89_regd_get_string(enum rtw89_regulation_type regd)
{
if (regd < 0 || regd >= RTW89_REGD_NUM)
return "(unknown)";
return rtw89_regd_string[regd];
}
int rtw89_regd_setup(struct rtw89_dev *rtwdev)
{
struct rtw89_regulatory_info *regulatory = &rtwdev->regulatory;