wifi: ath12k: Build all the files in wifi7 directory into ath12k_wifi7.ko

Move files built as part of ath12k.ko from wifi7 directory to ath12k_wifi7.ko.
Export necessary symbols from ath12k.ko and remove redundant exports from
the wifi7 directory, as they are no longer needed.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Pavankumar Nandeshwar <quic_pnandesh@quicinc.com>
Signed-off-by: Ripan Deuri <quic_rdeuri@quicinc.com>
Reviewed-by: Karthikeyan Periyasamy <karthikeyan.periyasamy@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://patch.msgid.link/20251103112111.2260639-11-quic_rdeuri@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
Pavankumar Nandeshwar 2025-11-03 16:51:09 +05:30 committed by Jeff Johnson
parent 951cca9cc6
commit 219dd14992
18 changed files with 51 additions and 18 deletions

View File

@ -24,15 +24,6 @@ ath12k-y += core.o \
ath12k-$(CONFIG_ATH12K_AHB) += ahb.o
ath12k-y += wifi7/hal_tx.o \
wifi7/hal_rx.o \
wifi7/dp_rx.o \
wifi7/dp_tx.o \
wifi7/dp.o \
wifi7/hal.o \
wifi7/hal_qcn9274.o \
wifi7/hal_wcn7850.o
obj-$(CONFIG_ATH12K) += wifi7/
ath12k-$(CONFIG_ATH12K_DEBUGFS) += debugfs.o debugfs_htt_stats.o debugfs_sta.o

View File

@ -32,6 +32,7 @@ EXPORT_SYMBOL(ath12k_debug_mask);
bool ath12k_ftm_mode;
module_param_named(ftm_mode, ath12k_ftm_mode, bool, 0444);
MODULE_PARM_DESC(ftm_mode, "Boots up in factory test mode");
EXPORT_SYMBOL(ath12k_ftm_mode);
/* protected with ath12k_hw_group_mutex */
static struct list_head ath12k_hw_group_list = LIST_HEAD_INIT(ath12k_hw_group_list);

View File

@ -105,5 +105,6 @@ void ath12k_dbg_dump(struct ath12k_base *ab,
}
}
}
EXPORT_SYMBOL(ath12k_dbg_dump);
#endif /* CONFIG_ATH12K_DEBUG */

View File

@ -1181,6 +1181,7 @@ struct ath12k_rx_desc_info *ath12k_dp_get_rx_desc(struct ath12k_base *ab,
return *desc_addr_ptr;
}
EXPORT_SYMBOL(ath12k_dp_get_rx_desc);
struct ath12k_tx_desc_info *ath12k_dp_get_tx_desc(struct ath12k_base *ab,
u32 cookie)
@ -1204,6 +1205,7 @@ struct ath12k_tx_desc_info *ath12k_dp_get_tx_desc(struct ath12k_base *ab,
return *desc_addr_ptr;
}
EXPORT_SYMBOL(ath12k_dp_get_tx_desc);
static int ath12k_dp_cc_desc_init(struct ath12k_base *ab)
{

View File

@ -1077,6 +1077,7 @@ int ath12k_dp_tx_htt_rx_filter_setup(struct ath12k_base *ab, u32 ring_id,
return ret;
}
EXPORT_SYMBOL(ath12k_dp_tx_htt_rx_filter_setup);
int
ath12k_dp_tx_htt_h2t_ext_stats_req(struct ath12k *ar, u8 type,

View File

@ -4437,3 +4437,4 @@ int ath12k_dp_mon_process_ring(struct ath12k_base *ab, int mac_id,
return num_buffs_reaped;
}
EXPORT_SYMBOL(ath12k_dp_mon_process_ring);

View File

@ -426,6 +426,7 @@ struct ath12k_dp_peer *ath12k_dp_peer_find_by_peerid(struct ath12k_pdev_dp *dp_p
return rcu_dereference(dp_pdev->dp_hw->dp_peers[index]);
}
EXPORT_SYMBOL(ath12k_dp_peer_find_by_peerid);
struct ath12k_dp_link_peer *
ath12k_dp_link_peer_find_by_peerid(struct ath12k_pdev_dp *dp_pdev, u16 peer_id)
@ -447,6 +448,7 @@ ath12k_dp_link_peer_find_by_peerid(struct ath12k_pdev_dp *dp_pdev, u16 peer_id)
return rcu_dereference(dp_peer->link_peers[link_id]);
}
EXPORT_SYMBOL(ath12k_dp_link_peer_find_by_peerid);
int ath12k_dp_peer_create(struct ath12k_dp_hw *dp_hw, u8 *addr,
struct ath12k_dp_peer_create_params *params)

View File

@ -163,6 +163,7 @@ int ath12k_dp_rx_bufs_replenish(struct ath12k_base *ab,
return req_entries - num_remain;
}
EXPORT_SYMBOL(ath12k_dp_rx_bufs_replenish);
static int ath12k_dp_rxdma_mon_buf_ring_free(struct ath12k_base *ab,
struct dp_rxdma_mon_ring *rx_ring)
@ -382,6 +383,7 @@ void ath12k_dp_reo_cmd_free(struct ath12k_dp *dp, void *ctx,
kfree(rx_tid->qbuf.vaddr);
rx_tid->qbuf.vaddr = NULL;
}
EXPORT_SYMBOL(ath12k_dp_reo_cmd_free);
void ath12k_dp_rx_tid_del_func(struct ath12k_dp *dp, void *ctx,
enum hal_reo_cmd_status status)
@ -444,6 +446,7 @@ void ath12k_dp_rx_tid_del_func(struct ath12k_dp *dp, void *ctx,
kfree(rx_tid->qbuf.vaddr);
rx_tid->qbuf.vaddr = NULL;
}
EXPORT_SYMBOL(ath12k_dp_rx_tid_del_func);
void ath12k_dp_rx_peer_tid_cleanup(struct ath12k *ar, struct ath12k_dp_link_peer *peer)
{
@ -709,6 +712,7 @@ int ath12k_dp_rx_peer_pn_replay_config(struct ath12k_link_vif *arvif,
return ret;
}
EXPORT_SYMBOL(ath12k_dp_rx_get_msdu_last_buf);
struct sk_buff *ath12k_dp_rx_get_msdu_last_buf(struct sk_buff_head *msdu_list,
struct sk_buff *first)
@ -1024,6 +1028,7 @@ void ath12k_dp_rx_h_undecap(struct ath12k_pdev_dp *dp_pdev, struct sk_buff *msdu
break;
}
}
EXPORT_SYMBOL(ath12k_dp_rx_h_undecap);
struct ath12k_dp_link_peer *
ath12k_dp_rx_h_find_link_peer(struct ath12k_pdev_dp *dp_pdev, struct sk_buff *msdu,
@ -1176,6 +1181,7 @@ void ath12k_dp_rx_h_ppdu(struct ath12k_pdev_dp *dp_pdev,
ath12k_dp_rx_h_rate(dp_pdev, rx_info);
}
EXPORT_SYMBOL(ath12k_dp_rx_h_ppdu);
void ath12k_dp_rx_deliver_msdu(struct ath12k_pdev_dp *dp_pdev, struct napi_struct *napi,
struct sk_buff *msdu,
@ -1246,6 +1252,7 @@ void ath12k_dp_rx_deliver_msdu(struct ath12k_pdev_dp *dp_pdev, struct napi_struc
ieee80211_rx_napi(ath12k_pdev_dp_to_hw(dp_pdev), pubsta, msdu, napi);
}
EXPORT_SYMBOL(ath12k_dp_rx_deliver_msdu);
bool ath12k_dp_rx_check_nwifi_hdr_len_valid(struct ath12k_dp *dp,
struct hal_rx_desc *rx_desc,
@ -1268,6 +1275,7 @@ bool ath12k_dp_rx_check_nwifi_hdr_len_valid(struct ath12k_dp *dp,
WARN_ON_ONCE(1);
return false;
}
EXPORT_SYMBOL(ath12k_dp_rx_check_nwifi_hdr_len_valid);
static void ath12k_dp_rx_frag_timer(struct timer_list *timer)
{
@ -1367,6 +1375,7 @@ int ath12k_dp_rx_h_michael_mic(struct crypto_shash *tfm, u8 *key,
shash_desc_zero(desc);
return ret;
}
EXPORT_SYMBOL(ath12k_dp_rx_h_michael_mic);
void ath12k_dp_rx_h_undecap_frag(struct ath12k_pdev_dp *dp_pdev, struct sk_buff *msdu,
enum hal_encrypt_type enctype, u32 flags)
@ -1399,6 +1408,7 @@ void ath12k_dp_rx_h_undecap_frag(struct ath12k_pdev_dp *dp_pdev, struct sk_buff
skb_pull(msdu, crypto_len);
}
}
EXPORT_SYMBOL(ath12k_dp_rx_h_undecap_frag);
static int ath12k_dp_rx_h_cmp_frags(struct ath12k_base *ab,
struct sk_buff *a, struct sk_buff *b)
@ -1427,6 +1437,7 @@ void ath12k_dp_rx_h_sort_frags(struct ath12k_base *ab,
}
__skb_queue_tail(frag_list, cur_frag);
}
EXPORT_SYMBOL(ath12k_dp_rx_h_sort_frags);
u64 ath12k_dp_rx_h_get_pn(struct ath12k_dp *dp, struct sk_buff *skb)
{
@ -1447,6 +1458,7 @@ u64 ath12k_dp_rx_h_get_pn(struct ath12k_dp *dp, struct sk_buff *skb)
return pn;
}
EXPORT_SYMBOL(ath12k_dp_rx_h_get_pn);
void ath12k_dp_rx_free(struct ath12k_base *ab)
{

View File

@ -25,6 +25,7 @@ ath12k_dp_tx_get_encap_type(struct ath12k_base *ab, struct sk_buff *skb)
return HAL_TCL_ENCAP_TYPE_NATIVE_WIFI;
}
EXPORT_SYMBOL(ath12k_dp_tx_get_encap_type);
void ath12k_dp_tx_encap_nwifi(struct sk_buff *skb)
{
@ -42,6 +43,7 @@ void ath12k_dp_tx_encap_nwifi(struct sk_buff *skb)
hdr = (void *)skb->data;
hdr->frame_control &= ~__cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
}
EXPORT_SYMBOL(ath12k_dp_tx_encap_nwifi);
u8 ath12k_dp_tx_get_tid(struct sk_buff *skb)
{
@ -55,6 +57,7 @@ u8 ath12k_dp_tx_get_tid(struct sk_buff *skb)
else
return skb->priority & IEEE80211_QOS_CTL_TID_MASK;
}
EXPORT_SYMBOL(ath12k_dp_tx_get_tid);
enum hal_encrypt_type ath12k_dp_tx_get_encrypt_type(u32 cipher)
{
@ -77,6 +80,7 @@ enum hal_encrypt_type ath12k_dp_tx_get_encrypt_type(u32 cipher)
return HAL_ENCRYPT_TYPE_OPEN;
}
}
EXPORT_SYMBOL(ath12k_dp_tx_get_encrypt_type);
void ath12k_dp_tx_release_txbuf(struct ath12k_dp *dp,
struct ath12k_tx_desc_info *tx_desc,
@ -87,6 +91,7 @@ void ath12k_dp_tx_release_txbuf(struct ath12k_dp *dp,
list_move_tail(&tx_desc->list, &dp->tx_desc_free_list[pool_id]);
spin_unlock_bh(&dp->tx_desc_lock[pool_id]);
}
EXPORT_SYMBOL(ath12k_dp_tx_release_txbuf);
struct ath12k_tx_desc_info *ath12k_dp_tx_assign_buffer(struct ath12k_dp *dp,
u8 pool_id)
@ -108,6 +113,7 @@ struct ath12k_tx_desc_info *ath12k_dp_tx_assign_buffer(struct ath12k_dp *dp,
return desc;
}
EXPORT_SYMBOL(ath12k_dp_tx_assign_buffer);
void *ath12k_dp_metadata_align_skb(struct sk_buff *skb, u8 tail_len)
{
@ -121,6 +127,7 @@ void *ath12k_dp_metadata_align_skb(struct sk_buff *skb, u8 tail_len)
memset(metadata, 0, tail_len);
return metadata;
}
EXPORT_SYMBOL(ath12k_dp_metadata_align_skb);
static void ath12k_dp_tx_move_payload(struct sk_buff *skb,
unsigned long delta,
@ -175,6 +182,7 @@ int ath12k_dp_tx_align_payload(struct ath12k_base *ab,
out:
return ret;
}
EXPORT_SYMBOL(ath12k_dp_tx_align_payload);
void ath12k_dp_tx_free_txbuf(struct ath12k_base *ab,
struct dp_tx_ring *tx_ring,
@ -200,3 +208,4 @@ void ath12k_dp_tx_free_txbuf(struct ath12k_base *ab,
if (atomic_dec_and_test(&ar->dp.num_tx_pending))
wake_up(&ar->dp.tx_empty_waitq);
}
EXPORT_SYMBOL(ath12k_dp_tx_free_txbuf);

View File

@ -217,6 +217,7 @@ int ath12k_hal_srng_get_entrysize(struct ath12k_base *ab, u32 ring_type)
return (srng_config->entry_size << 2);
}
EXPORT_SYMBOL(ath12k_hal_srng_get_entrysize);
int ath12k_hal_srng_get_max_entries(struct ath12k_base *ab, u32 ring_type)
{
@ -246,6 +247,7 @@ void ath12k_hal_srng_get_params(struct ath12k_base *ab, struct hal_srng *srng,
params->msi2_data = srng->msi2_data;
params->flags = srng->flags;
}
EXPORT_SYMBOL(ath12k_hal_srng_get_params);
dma_addr_t ath12k_hal_srng_get_hp_addr(struct ath12k_base *ab,
struct hal_srng *srng)
@ -316,6 +318,7 @@ void *ath12k_hal_srng_dst_peek(struct ath12k_base *ab, struct hal_srng *srng)
return NULL;
}
EXPORT_SYMBOL(ath12k_hal_srng_dst_peek);
void *ath12k_hal_srng_dst_get_next_entry(struct ath12k_base *ab,
struct hal_srng *srng)
@ -334,6 +337,7 @@ void *ath12k_hal_srng_dst_get_next_entry(struct ath12k_base *ab,
return desc;
}
EXPORT_SYMBOL(ath12k_hal_srng_dst_get_next_entry);
int ath12k_hal_srng_dst_num_free(struct ath12k_base *ab, struct hal_srng *srng,
bool sync_hw_ptr)
@ -356,6 +360,7 @@ int ath12k_hal_srng_dst_num_free(struct ath12k_base *ab, struct hal_srng *srng,
else
return (srng->ring_size - tp + hp) / srng->entry_size;
}
EXPORT_SYMBOL(ath12k_hal_srng_dst_num_free);
/* Returns number of available entries in src ring */
int ath12k_hal_srng_src_num_free(struct ath12k_base *ab, struct hal_srng *srng,
@ -430,6 +435,7 @@ void *ath12k_hal_srng_src_get_next_entry(struct ath12k_base *ab,
return desc;
}
EXPORT_SYMBOL(ath12k_hal_srng_src_get_next_entry);
void *ath12k_hal_srng_src_peek(struct ath12k_base *ab, struct hal_srng *srng)
{
@ -500,6 +506,7 @@ void ath12k_hal_srng_access_begin(struct ath12k_base *ab, struct hal_srng *srng)
}
}
}
EXPORT_SYMBOL(ath12k_hal_srng_access_begin);
/* Update cached ring head/tail pointers to HW. ath12k_hal_srng_access_begin()
* should have been called before this.
@ -555,6 +562,7 @@ void ath12k_hal_srng_access_end(struct ath12k_base *ab, struct hal_srng *srng)
srng->timestamp = jiffies;
}
EXPORT_SYMBOL(ath12k_hal_srng_access_end);
int ath12k_hal_srng_setup(struct ath12k_base *ab, enum hal_ring_type type,
int ring_num, int mac_id,

View File

@ -363,6 +363,7 @@ u16 ath12k_mac_he_convert_tones_to_ru_tones(u16 tones)
return RU_26;
}
}
EXPORT_SYMBOL(ath12k_mac_he_convert_tones_to_ru_tones);
enum nl80211_eht_gi ath12k_mac_eht_gi_to_nl80211_eht_gi(u8 sgi)
{
@ -377,6 +378,7 @@ enum nl80211_eht_gi ath12k_mac_eht_gi_to_nl80211_eht_gi(u8 sgi)
return NL80211_RATE_INFO_EHT_GI_0_8;
}
}
EXPORT_SYMBOL(ath12k_mac_eht_gi_to_nl80211_eht_gi);
enum nl80211_eht_ru_alloc ath12k_mac_eht_ru_tones_to_nl80211_eht_ru_alloc(u16 ru_tones)
{
@ -417,6 +419,7 @@ enum nl80211_eht_ru_alloc ath12k_mac_eht_ru_tones_to_nl80211_eht_ru_alloc(u16 ru
return NL80211_RATE_INFO_EHT_RU_ALLOC_26;
}
}
EXPORT_SYMBOL(ath12k_mac_eht_ru_tones_to_nl80211_eht_ru_alloc);
enum rate_info_bw
ath12k_mac_bw_to_mac80211_bw(enum ath12k_supported_bw bw)
@ -443,6 +446,7 @@ ath12k_mac_bw_to_mac80211_bw(enum ath12k_supported_bw bw)
return ret;
}
EXPORT_SYMBOL(ath12k_mac_bw_to_mac80211_bw);
enum ath12k_supported_bw ath12k_mac_mac80211_bw_to_ath12k_bw(enum rate_info_bw bw)
{
@ -486,6 +490,7 @@ int ath12k_mac_hw_ratecode_to_legacy_rate(u8 hw_rc, u8 preamble, u8 *rateidx,
return -EINVAL;
}
EXPORT_SYMBOL(ath12k_mac_hw_ratecode_to_legacy_rate);
u8 ath12k_mac_bitrate_to_idx(const struct ieee80211_supported_band *sband,
u32 bitrate)

View File

@ -5,6 +5,14 @@ ath12k_wifi7-y += core.o \
wmi.o \
mhi.o \
ce.o \
hw.o
hw.o \
hal_tx.o \
hal_rx.o \
dp_rx.o \
dp_tx.o \
dp.o \
hal.o \
hal_qcn9274.o \
hal_wcn7850.o
ath12k_wifi7-$(CONFIG_ATH12K_AHB) += ahb.o

View File

@ -170,10 +170,8 @@ struct ath12k_dp *ath12k_wifi7_dp_device_alloc(struct ath12k_base *ab)
return dp;
}
EXPORT_SYMBOL(ath12k_wifi7_dp_device_alloc);
void ath12k_wifi7_dp_device_free(struct ath12k_dp *dp)
{
kfree(dp);
}
EXPORT_SYMBOL(ath12k_wifi7_dp_device_free);

View File

@ -2022,7 +2022,6 @@ int ath12k_dp_rxdma_ring_sel_config_qcn9274(struct ath12k_base *ab)
return ret;
}
EXPORT_SYMBOL(ath12k_dp_rxdma_ring_sel_config_qcn9274);
int ath12k_dp_rxdma_ring_sel_config_wcn7850(struct ath12k_base *ab)
{
@ -2065,7 +2064,6 @@ int ath12k_dp_rxdma_ring_sel_config_wcn7850(struct ath12k_base *ab)
return ret;
}
EXPORT_SYMBOL(ath12k_dp_rxdma_ring_sel_config_wcn7850);
void ath12k_wifi7_dp_rx_process_reo_status(struct ath12k_base *ab)
{

View File

@ -379,7 +379,6 @@ int ath12k_wifi7_dp_tx(struct ath12k_pdev_dp *dp_pdev, struct ath12k_link_vif *a
return ret;
}
EXPORT_SYMBOL(ath12k_wifi7_dp_tx);
static void
ath12k_dp_tx_htt_tx_complete_buf(struct ath12k_base *ab,

View File

@ -59,7 +59,6 @@ int ath12k_wifi7_hal_init(struct ath12k_base *ab)
return 0;
}
EXPORT_SYMBOL(ath12k_wifi7_hal_init);
static unsigned int ath12k_wifi7_hal_reo1_ring_id_offset(struct ath12k_hal *hal)
{

View File

@ -1029,4 +1029,3 @@ const struct hal_ops hal_qcn9274_ops = {
.rx_msdu_list_get = ath12k_wifi7_hal_rx_msdu_list_get,
.rx_reo_ent_buf_paddr_get = ath12k_wifi7_hal_rx_reo_ent_buf_paddr_get,
};
EXPORT_SYMBOL(hal_qcn9274_ops);

View File

@ -802,4 +802,3 @@ const struct hal_ops hal_wcn7850_ops = {
.rx_msdu_list_get = ath12k_wifi7_hal_rx_msdu_list_get,
.rx_reo_ent_buf_paddr_get = ath12k_wifi7_hal_rx_reo_ent_buf_paddr_get,
};
EXPORT_SYMBOL(hal_wcn7850_ops);