wifi: mt76: mt7921: refactor CLC support check flow

Move the disable_clc module parameter to regd.c and introduce
mt7921_regd_clc_supported() to centralize CLC support checks.

Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: JB Tsai <jb.tsai@mediatek.com>
Link: https://patch.msgid.link/20260303053637.465465-2-jb.tsai@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
JB Tsai 2026-03-03 13:36:34 +08:00 committed by Felix Fietkau
parent c5c32d6306
commit fbb493cd95
3 changed files with 16 additions and 6 deletions

View File

@ -4,6 +4,7 @@
#include <linux/fs.h>
#include <linux/firmware.h>
#include "mt7921.h"
#include "regd.h"
#include "mcu.h"
#include "../mt76_connac2_mac.h"
#include "../mt792x_trace.h"
@ -11,10 +12,6 @@
#define MT_STA_BFER BIT(0)
#define MT_STA_BFEE BIT(1)
static bool mt7921_disable_clc;
module_param_named(disable_clc, mt7921_disable_clc, bool, 0644);
MODULE_PARM_DESC(disable_clc, "disable CLC support");
int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd,
struct sk_buff *skb, int seq)
{
@ -422,8 +419,7 @@ static int mt7921_load_clc(struct mt792x_dev *dev, const char *fw_name)
u8 *clc_base = NULL, hw_encap = 0;
dev->phy.clc_chan_conf = 0xff;
if (mt7921_disable_clc ||
mt76_is_usb(&dev->mt76))
if (!mt7921_regd_clc_supported(dev))
return 0;
if (mt76_is_mmio(&dev->mt76)) {

View File

@ -6,6 +6,19 @@
#include "regd.h"
#include "mcu.h"
static bool mt7921_disable_clc;
module_param_named(disable_clc, mt7921_disable_clc, bool, 0644);
MODULE_PARM_DESC(disable_clc, "disable CLC support");
bool mt7921_regd_clc_supported(struct mt792x_dev *dev)
{
if (mt7921_disable_clc ||
mt76_is_usb(&dev->mt76))
return false;
return true;
}
static void
mt7921_regd_channel_update(struct wiphy *wiphy, struct mt792x_dev *dev)
{

View File

@ -11,5 +11,6 @@ struct regulatory_request;
void mt7921_regd_update(struct mt792x_dev *dev);
void mt7921_regd_notifier(struct wiphy *wiphy,
struct regulatory_request *request);
bool mt7921_regd_clc_supported(struct mt792x_dev *dev);
#endif