xref: /wlan-dirver/qcacld-3.0/wlan_qcacld3_modules.bzl (revision fe6d7d0625209d29a7e50fc0f26a19a8a6156f65)
1load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
2load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
3load("//msm-kernel:target_variants.bzl", "get_all_variants")
4
5_target_chipset_map = {
6    "pineapple": [
7        "kiwi-v2",
8    ],
9}
10
11_chipset_hw_map = {
12    "kiwi-v2": "BERYLLIUM",
13}
14
15_chipset_header_map = {
16    "kiwi-v2": [
17        "api/hw/kiwi/v2",
18        "cmn/hal/wifi3.0/kiwi",
19    ],
20}
21
22_hw_header_map = {
23    "BERYLLIUM": [
24        "cmn/hal/wifi3.0/be",
25    ],
26}
27
28_fixed_includes = [
29    "configs/default_config.h",
30    "configs/config_to_feature.h",
31]
32
33_fixed_ipaths = [
34    "api/fw",
35    "cmn/cfg/inc",
36    "cmn/coex/dispatcher/inc",
37    "cmn/dp/cmn_dp_api",
38    "cmn/dp/inc",
39    "cmn/dp/wifi3.0",
40    "cmn/dp/wifi3.0/be",
41    "cmn/dp/wifi3.0/monitor",
42    "cmn/dp/wifi3.0/monitor/1.0",
43    "cmn/dp/wifi3.0/monitor/2.0",
44    "cmn/ftm/core/src",
45    "cmn/ftm/dispatcher/inc",
46    "cmn/global_lmac_if/inc",
47    "cmn/global_lmac_if/src",
48    "cmn/gpio/core/inc",
49    "cmn/gpio/dispatcher/inc",
50    "cmn/hal/wifi3.0",
51    "cmn/hif/inc",
52    "cmn/hif/src",
53    "cmn/hif/src/ce",
54    "cmn/hif/src/dispatcher",
55    "cmn/hif/src/pcie",
56    "cmn/htc",
57    "cmn/init_deinit/dispatcher/inc",
58    "cmn/ipa/core/inc",
59    "cmn/ipa/dispatcher/inc",
60    "cmn/os_if/linux",
61    "cmn/os_if/linux/afc/inc",
62    "cmn/os_if/linux/cp_stats/inc",
63    "cmn/os_if/linux/crypto/inc",
64    "cmn/os_if/linux/ftm/inc",
65    "cmn/os_if/linux/ftm/src",
66    "cmn/os_if/linux/gpio/inc",
67    "cmn/os_if/linux/mlme/inc",
68    "cmn/os_if/linux/scan/inc",
69    "cmn/os_if/linux/spectral/inc",
70    "cmn/os_if/linux/twt/inc",
71    "cmn/os_if/linux/wifi_pos/inc",
72    "cmn/qal/inc",
73    "cmn/qal/linux/src",
74    "cmn/qdf/inc",
75    "cmn/qdf/linux/src",
76    "cmn/qdf/test",
77    "cmn/scheduler/inc",
78    "cmn/spectral/core",
79    "cmn/spectral/dispatcher/inc",
80    "cmn/target_if/cfr/inc",
81    "cmn/target_if/core/inc",
82    "cmn/target_if/core/src",
83    "cmn/target_if/cp_stats/inc",
84    "cmn/target_if/crypto/inc",
85    "cmn/target_if/dcs/inc",
86    "cmn/target_if/dfs/inc",
87    "cmn/target_if/direct_buf_rx/inc",
88    "cmn/target_if/direct_buf_rx/src",
89    "cmn/target_if/dispatcher/inc",
90    "cmn/target_if/dp/inc",
91    "cmn/target_if/ftm/inc",
92    "cmn/target_if/gpio",
93    "cmn/target_if/green_ap/inc",
94    "cmn/target_if/init_deinit/inc",
95    "cmn/target_if/ipa/inc",
96    "cmn/target_if/mlme/psoc/inc",
97    "cmn/target_if/mlme/vdev_mgr/inc",
98    "cmn/target_if/mlo_mgr/inc",
99    "cmn/target_if/regulatory/inc",
100    "cmn/target_if/scan/inc",
101    "cmn/target_if/son/inc",
102    "cmn/target_if/spatial_reuse/inc",
103    "cmn/target_if/spectral",
104    "cmn/target_if/twt/inc",
105    "cmn/target_if/wifi_pos/inc",
106    "cmn/umac",
107    "cmn/umac/afc/core/inc",
108    "cmn/umac/afc/dispatcher/inc",
109    "cmn/umac/cfr/core/inc",
110    "cmn/umac/cfr/dispatcher/inc",
111    "cmn/umac/cmn_services/cmn_defs/inc",
112    "cmn/umac/cmn_services/crypto/inc",
113    "cmn/umac/cmn_services/crypto/src",
114    "cmn/umac/cmn_services/inc",
115    "cmn/umac/cmn_services/interface_mgr/inc",
116    "cmn/umac/cmn_services/mgmt_txrx/dispatcher/inc",
117    "cmn/umac/cmn_services/obj_mgr/inc",
118    "cmn/umac/cmn_services/obj_mgr/src",
119    "cmn/umac/cmn_services/regulatory/inc",
120    "cmn/umac/cmn_services/serialization/inc",
121    "cmn/umac/cmn_services/sm_engine/inc",
122    "cmn/umac/cmn_services/utils/inc",
123    "cmn/umac/cp_stats/dispatcher/inc",
124    "cmn/umac/dcs/dispatcher/inc",
125    "cmn/umac/dfs/dispatcher/inc",
126    "cmn/umac/global_umac_dispatcher/lmac_if/inc",
127    "cmn/umac/green_ap/dispatcher/inc",
128    "cmn/umac/mlme",
129    "cmn/umac/mlme/connection_mgr/dispatcher/inc",
130    "cmn/umac/mlme/connection_mgr/utf/inc",
131    "cmn/umac/mlme/include",
132    "cmn/umac/mlme/mlme_objmgr/dispatcher/inc",
133    "cmn/umac/mlme/mlme_utils",
134    "cmn/umac/mlme/pdev_mgr/dispatcher/inc",
135    "cmn/umac/mlme/psoc_mgr/dispatcher/inc",
136    "cmn/umac/mlme/vdev_mgr/dispatcher/inc",
137    "cmn/umac/mlo_mgr/inc",
138    "cmn/umac/regulatory/dispatcher/inc",
139    "cmn/umac/regulatory/core/inc",
140    "cmn/umac/regulatory/core/src",
141    "cmn/umac/scan/dispatcher/inc",
142    "cmn/umac/thermal/dispatcher/inc",
143    "cmn/umac/twt/dispatcher/inc",
144    "cmn/umac/wifi_pos/inc",
145    "cmn/umac/wifi_radar/core/inc",
146    "cmn/umac/wifi_radar/dispatcher/inc",
147    "cmn/utils/epping/inc",
148    "cmn/utils/fwlog",
149    "cmn/utils/host_diag_log/inc",
150    "cmn/utils/host_diag_log/src",
151    "cmn/utils/logging/inc",
152    "cmn/utils/nlink/inc",
153    "cmn/utils/pktlog/include",
154    "cmn/utils/ptt/inc",
155    "cmn/utils/sys",
156    "cmn/wbuff/inc",
157    "cmn/wbuff/src",
158    "cmn/wlan_cfg",
159    "cmn/wmi/inc",
160    "cmn/wmi/src",
161    "components/action_oui/core/inc",
162    "components/action_oui/dispatcher/inc",
163    "components/cfg",
164    "components/cmn_services/interface_mgr/inc",
165    "components/cmn_services/logging/inc",
166    "components/cmn_services/policy_mgr/inc",
167    "components/cmn_services/policy_mgr/src",
168    "components/coap/core/inc",
169    "components/coap/dispatcher/inc",
170    "components/coex/core/inc",
171    "components/coex/dispatcher/inc",
172    "components/cp_stats/dispatcher/inc",
173    "components/denylist_mgr/core/inc",
174    "components/denylist_mgr/dispatcher/inc",
175    "components/disa/core/inc",
176    "components/disa/dispatcher/inc",
177    "components/dp/core/inc",
178    "components/dp/core/src",
179    "components/dp/dispatcher/inc",
180    "components/dsc/inc",
181    "components/dsc/src",
182    "components/dsc/test",
183    "components/ftm_time_sync/core/inc",
184    "components/ftm_time_sync/dispatcher/inc",
185    "components/fw_offload/core/inc",
186    "components/fw_offload/dispatcher/inc",
187    "components/interop_issues_ap/core/inc",
188    "components/interop_issues_ap/dispatcher/inc",
189    "components/mlme/core/inc",
190    "components/mlme/core/src",
191    "components/mlme/dispatcher/inc",
192    "components/nan/core/inc",
193    "components/nan/core/src",
194    "components/nan/dispatcher/inc",
195    "components/ocb/core/inc",
196    "components/ocb/dispatcher/inc",
197    "components/p2p/dispatcher/inc",
198    "components/p2p/core/src",
199    "components/pkt_capture/core/inc",
200    "components/pkt_capture/dispatcher/inc",
201    "components/pmo/core/inc",
202    "components/pmo/core/src",
203    "components/pmo/dispatcher/inc",
204    "components/pmo/dispatcher/src",
205    "components/pre_cac/dispatcher/inc",
206    "components/pre_cac/core/src",
207    "components/qmi/core/inc",
208    "components/qmi/core/src",
209    "components/qmi/dispatcher/inc",
210    "components/son/dispatcher/inc",
211    "components/spatial_reuse/dispatcher/inc",
212    "components/target_if/action_oui/inc",
213    "components/target_if/coap/inc",
214    "components/target_if/coex/inc",
215    "components/target_if/connection_mgr/inc",
216    "components/target_if/denylist_mgr/inc",
217    "components/target_if/disa/inc",
218    "components/target_if/dp/inc",
219    "components/target_if/fw_offload/inc",
220    "components/target_if/interop_issues_ap/inc",
221    "components/target_if/nan/inc",
222    "components/target_if/p2p/inc",
223    "components/target_if/pkt_capture/inc",
224    "components/target_if/pmo/inc",
225    "components/target_if/pmo/src",
226    "components/target_if/tdls/inc",
227    "components/target_if/wfa_config/inc",
228    "components/tdls/dispatcher/inc",
229    "components/tdls/core/inc",
230    "components/tdls/core/src",
231    "components/umac",
232    "components/umac/mlme/connection_mgr/dispatcher/inc",
233    "components/umac/mlme/connection_mgr/utf/inc",
234    "components/umac/mlme/mlo_mgr/inc",
235    "components/umac/mlme/mlo_mgr/dispatcher/inc",
236    "components/umac/mlme/wfa_config/dispatcher/inc",
237    "components/umac/mlme/sap/ll_sap/dispatcher/inc",
238    "components/umac/twt/dispatcher/inc",
239    "components/wifi_pos/core/inc",
240    "components/wifi_pos/dispatcher/inc",
241    "components/wmi/inc",
242    "core/bmi/inc",
243    "core/cds/inc",
244    "core/cds/src",
245    "core/dp/htt",
246    "core/dp/ol/inc",
247    "core/dp/txrx",
248    "core/hdd/inc",
249    "core/hdd/src",
250    "core/mac/inc",
251    "core/mac/src/dph",
252    "core/mac/src/include",
253    "core/mac/src/pe/include",
254    "core/mac/src/pe/lim",
255    "core/mac/src/pe/nan",
256    "core/mac/src/sys/common/inc",
257    "core/mac/src/sys/legacy/src/platform/inc",
258    "core/mac/src/sys/legacy/src/system/inc",
259    "core/mac/src/sys/legacy/src/utils/inc",
260    "core/pld/inc",
261    "core/pld/src",
262    "core/sap/inc",
263    "core/sap/src",
264    "core/sme/inc",
265    "core/sme/src/common",
266    "core/sme/src/csr",
267    "core/sme/src/nan",
268    "core/sme/src/qos",
269    "core/sme/src/rrm",
270    "core/wma/inc",
271    "core/wma/src",
272    "os_if/coap/inc",
273    "os_if/coex/inc",
274    "os_if/cp_stats/inc",
275    "os_if/dp/inc",
276    "os_if/fw_offload/inc",
277    "os_if/interop_issues_ap/inc",
278    "os_if/nan/inc",
279    "os_if/p2p/inc",
280    "os_if/pkt_capture/inc",
281    "os_if/pre_cac/inc",
282    "os_if/qmi/inc",
283    "os_if/son/inc",
284    "os_if/sync/inc",
285    "os_if/sync/src",
286    "os_if/tdls/inc",
287    "os_if/twt/inc",
288    "uapi/linux",
289]
290
291# paths where include files are private in src folders
292_private_ipaths = [
293    "cmn/os_if/linux/mlme/src",
294]
295
296_fixed_srcs = [
297    "cmn/cfg/src/cfg.c",
298    "cmn/dp/wifi3.0/dp_arch_ops.c",
299    "cmn/dp/wifi3.0/dp_htt.c",
300    "cmn/dp/wifi3.0/dp_main.c",
301    "cmn/dp/wifi3.0/dp_peer.c",
302    "cmn/dp/wifi3.0/dp_rx.c",
303    "cmn/dp/wifi3.0/dp_rx_defrag.c",
304    "cmn/dp/wifi3.0/dp_rx_desc.c",
305    "cmn/dp/wifi3.0/dp_stats.c",
306    "cmn/dp/wifi3.0/dp_tx.c",
307    "cmn/dp/wifi3.0/dp_tx_desc.c",
308    "cmn/global_lmac_if/src/wlan_global_lmac_if.c",
309    "cmn/hif/src/ath_procfs.c",
310    "cmn/hif/src/ce/ce_diag.c",
311    "cmn/hif/src/ce/ce_main.c",
312    "cmn/hif/src/ce/ce_service.c",
313    "cmn/hif/src/ce/ce_tasklet.c",
314    "cmn/hif/src/dispatcher/dummy.c",
315    "cmn/hif/src/dispatcher/multibus.c",
316    "cmn/hif/src/hif_exec.c",
317    "cmn/hif/src/hif_main.c",
318    "cmn/hif/src/hif_runtime_pm.c",
319    "cmn/hif/src/mp_dev.c",
320    "cmn/hif/src/regtable.c",
321    "cmn/htc/htc.c",
322    "cmn/htc/htc_recv.c",
323    "cmn/htc/htc_send.c",
324    "cmn/htc/htc_services.c",
325    "cmn/init_deinit/dispatcher/src/dispatcher_init_deinit.c",
326    "cmn/os_if/linux/crypto/src/wlan_cfg80211_crypto.c",
327    "cmn/os_if/linux/crypto/src/wlan_nl_to_crypto_params.c",
328    "cmn/os_if/linux/mlme/src/osif_cm_connect_rsp.c",
329    "cmn/os_if/linux/mlme/src/osif_cm_disconnect_rsp.c",
330    "cmn/os_if/linux/mlme/src/osif_cm_req.c",
331    "cmn/os_if/linux/mlme/src/osif_cm_roam_rsp.c",
332    "cmn/os_if/linux/mlme/src/osif_cm_util.c",
333    "cmn/os_if/linux/mlme/src/osif_vdev_mgr_util.c",
334    "cmn/os_if/linux/scan/src/wlan_cfg80211_scan.c",
335    "cmn/os_if/linux/wlan_cfg80211.c",
336    "cmn/os_if/linux/wlan_osif_request_manager.c",
337    "cmn/qdf/linux/src/qdf_crypto.c",
338    "cmn/qdf/linux/src/qdf_defer.c",
339    "cmn/qdf/linux/src/qdf_delayed_work.c",
340    "cmn/qdf/linux/src/qdf_event.c",
341    "cmn/qdf/linux/src/qdf_file.c",
342    "cmn/qdf/linux/src/qdf_func_tracker.c",
343    "cmn/qdf/linux/src/qdf_idr.c",
344    "cmn/qdf/linux/src/qdf_list.c",
345    "cmn/qdf/linux/src/qdf_lock.c",
346    "cmn/qdf/linux/src/qdf_mc_timer.c",
347    "cmn/qdf/linux/src/qdf_mem.c",
348    "cmn/qdf/linux/src/qdf_nbuf.c",
349    "cmn/qdf/linux/src/qdf_nbuf_frag.c",
350    "cmn/qdf/linux/src/qdf_periodic_work.c",
351    "cmn/qdf/linux/src/qdf_status.c",
352    "cmn/qdf/linux/src/qdf_threads.c",
353    "cmn/qdf/linux/src/qdf_trace.c",
354    "cmn/qdf/src/qdf_flex_mem.c",
355    "cmn/qdf/src/qdf_parse.c",
356    "cmn/qdf/src/qdf_platform.c",
357    "cmn/qdf/src/qdf_str.c",
358    "cmn/qdf/src/qdf_talloc.c",
359    "cmn/qdf/src/qdf_types.c",
360    "cmn/scheduler/src/scheduler_api.c",
361    "cmn/scheduler/src/scheduler_core.c",
362    "cmn/target_if/core/src/target_if_main.c",
363    "cmn/target_if/crypto/src/target_if_crypto.c",
364    "cmn/target_if/dp/src/target_if_dp.c",
365    "cmn/target_if/init_deinit/src/init_cmd_api.c",
366    "cmn/target_if/init_deinit/src/init_deinit_lmac.c",
367    "cmn/target_if/init_deinit/src/init_event_handler.c",
368    "cmn/target_if/init_deinit/src/service_ready_util.c",
369    "cmn/target_if/mlme/psoc/src/target_if_psoc_timer_tx_ops.c",
370    "cmn/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_rx_ops.c",
371    "cmn/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c",
372    "cmn/target_if/regulatory/src/target_if_reg_11d.c",
373    "cmn/target_if/regulatory/src/target_if_reg.c",
374    "cmn/target_if/regulatory/src/target_if_reg_lte.c",
375    "cmn/target_if/scan/src/target_if_scan.c",
376    "cmn/umac/cmn_services/crypto/src/wlan_crypto_global_api.c",
377    "cmn/umac/cmn_services/crypto/src/wlan_crypto_main.c",
378    "cmn/umac/cmn_services/crypto/src/wlan_crypto_obj_mgr.c",
379    "cmn/umac/cmn_services/crypto/src/wlan_crypto_param_handling.c",
380    "cmn/umac/cmn_services/crypto/src/wlan_crypto_ucfg_api.c",
381    "cmn/umac/cmn_services/interface_mgr/src/wlan_if_mgr_core.c",
382    "cmn/umac/cmn_services/interface_mgr/src/wlan_if_mgr_main.c",
383    "cmn/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_main.c",
384    "cmn/umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_tgt_api.c",
385    "cmn/umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_utils_api.c",
386    "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj.c",
387    "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_pdev_obj.c",
388    "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_peer_obj.c",
389    "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c",
390    "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_vdev_obj.c",
391    "cmn/umac/cmn_services/serialization/src/wlan_serialization_api.c",
392    "cmn/umac/cmn_services/serialization/src/wlan_serialization_internal.c",
393    "cmn/umac/cmn_services/serialization/src/wlan_serialization_legacy_api.c",
394    "cmn/umac/cmn_services/serialization/src/wlan_serialization_main.c",
395    "cmn/umac/cmn_services/serialization/src/wlan_serialization_non_scan.c",
396    "cmn/umac/cmn_services/serialization/src/wlan_serialization_queue.c",
397    "cmn/umac/cmn_services/serialization/src/wlan_serialization_rules.c",
398    "cmn/umac/cmn_services/serialization/src/wlan_serialization_scan.c",
399    "cmn/umac/cmn_services/serialization/src/wlan_serialization_utils.c",
400    "cmn/umac/cmn_services/sm_engine/src/wlan_sm_engine.c",
401    "cmn/umac/cmn_services/utils/src/wlan_utility.c",
402    "cmn/umac/global_umac_dispatcher/lmac_if/src/wlan_lmac_if.c",
403    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_bss_scoring.c",
404    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_connect.c",
405    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_connect_scan.c",
406    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_disconnect.c",
407    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_main.c",
408    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_roam_sm.c",
409    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_sm.c",
410    "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_util.c",
411    "cmn/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_api.c",
412    "cmn/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_ucfg_api.c",
413    "cmn/umac/mlme/mlme_objmgr/dispatcher/src/wlan_cmn_mlme_main.c",
414    "cmn/umac/mlme/mlme_objmgr/dispatcher/src/wlan_pdev_mlme_main.c",
415    "cmn/umac/mlme/mlme_objmgr/dispatcher/src/wlan_psoc_mlme_main.c",
416    "cmn/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.c",
417    "cmn/umac/mlme/mlme_utils/wlan_vdev_mlme_ser_if.c",
418    "cmn/umac/mlme/pdev_mgr/dispatcher/src/wlan_pdev_mlme_api.c",
419    "cmn/umac/mlme/psoc_mgr/dispatcher/src/wlan_psoc_mlme_api.c",
420    "cmn/umac/mlme/psoc_mgr/dispatcher/src/wlan_psoc_mlme_ucfg_api.c",
421    "cmn/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c",
422    "cmn/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c",
423    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_api.c",
424    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c",
425    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_tx_api.c",
426    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_ucfg_api.c",
427    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_utils_api.c",
428    "cmn/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.c",
429    "cmn/umac/regulatory/core/src/reg_build_chan_list.c",
430    "cmn/umac/regulatory/core/src/reg_callbacks.c",
431    "cmn/umac/regulatory/core/src/reg_db.c",
432    "cmn/umac/regulatory/core/src/reg_db_parser.c",
433    "cmn/umac/regulatory/core/src/reg_lte.c",
434    "cmn/umac/regulatory/core/src/reg_offload_11d_scan.c",
435    "cmn/umac/regulatory/core/src/reg_opclass.c",
436    "cmn/umac/regulatory/core/src/reg_priv_objs.c",
437    "cmn/umac/regulatory/core/src/reg_services_common.c",
438    "cmn/umac/regulatory/core/src/reg_utils.c",
439    "cmn/umac/regulatory/dispatcher/src/wlan_reg_services_api.c",
440    "cmn/umac/regulatory/dispatcher/src/wlan_reg_tgt_api.c",
441    "cmn/umac/regulatory/dispatcher/src/wlan_reg_ucfg_api.c",
442    "cmn/umac/scan/core/src/wlan_scan_11d.c",
443    "cmn/umac/scan/core/src/wlan_scan_cache_db.c",
444    "cmn/umac/scan/core/src/wlan_scan_filter.c",
445    "cmn/umac/scan/core/src/wlan_scan_main.c",
446    "cmn/umac/scan/core/src/wlan_scan_manager.c",
447    "cmn/umac/scan/dispatcher/src/wlan_scan_api.c",
448    "cmn/umac/scan/dispatcher/src/wlan_scan_tgt_api.c",
449    "cmn/umac/scan/dispatcher/src/wlan_scan_ucfg_api.c",
450    "cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c",
451    "cmn/utils/logging/src/wlan_logging_sock_svc.c",
452    "cmn/utils/logging/src/wlan_roam_debug.c",
453    "cmn/utils/nlink/src/wlan_nlink_srv.c",
454    "cmn/utils/ptt/src/wlan_ptt_sock_svc.c",
455    "cmn/wmi/src/wmi_tlv_helper.c",
456    "cmn/wmi/src/wmi_tlv_platform.c",
457    "cmn/wmi/src/wmi_unified_api.c",
458    "cmn/wmi/src/wmi_unified.c",
459    "cmn/wmi/src/wmi_unified_crypto_api.c",
460    "cmn/wmi/src/wmi_unified_p2p_api.c",
461    "cmn/wmi/src/wmi_unified_p2p_tlv.c",
462    "cmn/wmi/src/wmi_unified_reg_api.c",
463    "cmn/wmi/src/wmi_unified_tlv.c",
464    "cmn/wmi/src/wmi_unified_vdev_api.c",
465    "cmn/wmi/src/wmi_unified_vdev_tlv.c",
466    "components/cmn_services/interface_mgr/src/wlan_if_mgr_roam.c",
467    "components/cmn_services/interface_mgr/src/wlan_if_mgr_sap.c",
468    "components/cmn_services/interface_mgr/src/wlan_if_mgr_sta.c",
469    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_action.c",
470    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c",
471    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c",
472    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_init_deinit.c",
473    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c",
474    "components/cmn_services/policy_mgr/src/wlan_policy_mgr_ucfg.c",
475    "components/dp/core/src/wlan_dp_bus_bandwidth.c",
476    "components/dp/core/src/wlan_dp_main.c",
477    "components/dp/core/src/wlan_dp_softap_txrx.c",
478    "components/dp/core/src/wlan_dp_txrx.c",
479    "components/dp/dispatcher/src/wlan_dp_api.c",
480    "components/dp/dispatcher/src/wlan_dp_ucfg_api.c",
481    "components/dsc/src/__wlan_dsc.c",
482    "components/dsc/src/wlan_dsc_driver.c",
483    "components/dsc/src/wlan_dsc_psoc.c",
484    "components/dsc/src/wlan_dsc_vdev.c",
485    "components/mlme/core/src/wlan_mlme_main.c",
486    "components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c",
487    "components/mlme/core/src/wlan_mlme_twt_api.c",
488    "components/mlme/dispatcher/src/wlan_mlme_api.c",
489    "components/mlme/dispatcher/src/wlan_mlme_ucfg_api.c",
490    "components/p2p/core/src/wlan_p2p_main.c",
491    "components/p2p/core/src/wlan_p2p_off_chan_tx.c",
492    "components/p2p/core/src/wlan_p2p_roc.c",
493    "components/p2p/dispatcher/src/wlan_p2p_api.c",
494    "components/p2p/dispatcher/src/wlan_p2p_cfg.c",
495    "components/p2p/dispatcher/src/wlan_p2p_tgt_api.c",
496    "components/p2p/dispatcher/src/wlan_p2p_ucfg_api.c",
497    "components/target_if/connection_mgr/src/target_if_cm_roam_event.c",
498    "components/target_if/connection_mgr/src/target_if_cm_roam_offload.c",
499    "components/target_if/dp/src/target_if_dp_comp.c",
500    "components/target_if/p2p/src/target_if_p2p.c",
501    "components/target_if/wfa_config/src/target_if_wfa_testcmd.c",
502    "components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c",
503    "components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_connect.c",
504    "components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_disconnect.c",
505    "components/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_roam_api.c",
506    "components/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_roam_ucfg_api.c",
507    "components/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_tgt_if_tx_api.c",
508    "components/umac/mlme/wfa_config/dispatcher/src/wlan_wfa_tgt_if_tx_api.c",
509    "core/cds/src/cds_api.c",
510    "core/cds/src/cds_packet.c",
511    "core/cds/src/cds_regdomain.c",
512    "core/cds/src/cds_reg_service.c",
513    "core/cds/src/cds_sched.c",
514    "core/cds/src/cds_utils.c",
515    "core/hdd/src/wlan_hdd_assoc.c",
516    "core/hdd/src/wlan_hdd_cfg80211.c",
517    "core/hdd/src/wlan_hdd_cfg.c",
518    "core/hdd/src/wlan_hdd_cm_connect.c",
519    "core/hdd/src/wlan_hdd_cm_disconnect.c",
520    "core/hdd/src/wlan_hdd_data_stall_detection.c",
521    "core/hdd/src/wlan_hdd_driver_ops.c",
522    "core/hdd/src/wlan_hdd_ftm.c",
523    "core/hdd/src/wlan_hdd_hostapd.c",
524    "core/hdd/src/wlan_hdd_ioctl.c",
525    "core/hdd/src/wlan_hdd_main.c",
526    "core/hdd/src/wlan_hdd_object_manager.c",
527    "core/hdd/src/wlan_hdd_oemdata.c",
528    "core/hdd/src/wlan_hdd_p2p.c",
529    "core/hdd/src/wlan_hdd_power.c",
530    "core/hdd/src/wlan_hdd_regulatory.c",
531    "core/hdd/src/wlan_hdd_scan.c",
532    "core/hdd/src/wlan_hdd_softap_tx_rx.c",
533    "core/hdd/src/wlan_hdd_sta_info.c",
534    "core/hdd/src/wlan_hdd_stats.c",
535    "core/hdd/src/wlan_hdd_trace.c",
536    "core/hdd/src/wlan_hdd_tx_rx.c",
537    "core/hdd/src/wlan_hdd_wmm.c",
538    "core/hdd/src/wlan_hdd_wowl.c",
539    "core/mac/src/dph/dph_hash_table.c",
540    "core/mac/src/pe/lim/lim_admit_control.c",
541    "core/mac/src/pe/lim/lim_api.c",
542    "core/mac/src/pe/lim/lim_assoc_utils.c",
543    "core/mac/src/pe/lim/lim_ft.c",
544    "core/mac/src/pe/lim/lim_link_monitoring_algo.c",
545    "core/mac/src/pe/lim/lim_process_action_frame.c",
546    "core/mac/src/pe/lim/lim_process_assoc_req_frame.c",
547    "core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c",
548    "core/mac/src/pe/lim/lim_process_auth_frame.c",
549    "core/mac/src/pe/lim/lim_process_beacon_frame.c",
550    "core/mac/src/pe/lim/lim_process_cfg_updates.c",
551    "core/mac/src/pe/lim/lim_process_deauth_frame.c",
552    "core/mac/src/pe/lim/lim_process_disassoc_frame.c",
553    "core/mac/src/pe/lim/lim_process_message_queue.c",
554    "core/mac/src/pe/lim/lim_process_mlm_req_messages.c",
555    "core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c",
556    "core/mac/src/pe/lim/lim_process_probe_req_frame.c",
557    "core/mac/src/pe/lim/lim_process_probe_rsp_frame.c",
558    "core/mac/src/pe/lim/lim_process_sme_req_messages.c",
559    "core/mac/src/pe/lim/lim_prop_exts_utils.c",
560    "core/mac/src/pe/lim/lim_scan_result_utils.c",
561    "core/mac/src/pe/lim/lim_security_utils.c",
562    "core/mac/src/pe/lim/lim_send_management_frames.c",
563    "core/mac/src/pe/lim/lim_send_messages.c",
564    "core/mac/src/pe/lim/lim_send_sme_rsp_messages.c",
565    "core/mac/src/pe/lim/lim_session.c",
566    "core/mac/src/pe/lim/lim_session_utils.c",
567    "core/mac/src/pe/lim/lim_sme_req_utils.c",
568    "core/mac/src/pe/lim/lim_timer_utils.c",
569    "core/mac/src/pe/lim/lim_trace.c",
570    "core/mac/src/pe/lim/lim_utils.c",
571    "core/mac/src/pe/lim/lim_aid_mgmt.c",
572    "core/mac/src/pe/rrm/rrm_api.c",
573    "core/mac/src/pe/sch/sch_api.c",
574    "core/mac/src/pe/sch/sch_beacon_gen.c",
575    "core/mac/src/pe/sch/sch_beacon_process.c",
576    "core/mac/src/pe/sch/sch_message.c",
577    "core/mac/src/sys/common/src/wlan_qct_sys.c",
578    "core/mac/src/sys/legacy/src/platform/src/sys_wrapper.c",
579    "core/mac/src/sys/legacy/src/system/src/mac_init_api.c",
580    "core/mac/src/sys/legacy/src/system/src/sys_entry_func.c",
581    "core/mac/src/sys/legacy/src/utils/src/dot11f.c",
582    "core/mac/src/sys/legacy/src/utils/src/mac_trace.c",
583    "core/mac/src/sys/legacy/src/utils/src/parser_api.c",
584    "core/mac/src/sys/legacy/src/utils/src/utils_parser.c",
585    "core/pld/src/pld_common.c",
586    "core/sap/src/sap_api_link_cntl.c",
587    "core/sap/src/sap_ch_select.c",
588    "core/sap/src/sap_fsm.c",
589    "core/sap/src/sap_module.c",
590    "core/sme/src/common/sme_api.c",
591    "core/sme/src/common/sme_power_save.c",
592    "core/sme/src/common/sme_trace.c",
593    "core/sme/src/csr/csr_api_roam.c",
594    "core/sme/src/csr/csr_api_scan.c",
595    "core/sme/src/csr/csr_cmd_process.c",
596    "core/sme/src/csr/csr_link_list.c",
597    "core/sme/src/csr/csr_util.c",
598    "core/sme/src/qos/sme_qos.c",
599    "core/sme/src/rrm/sme_rrm.c",
600    "core/wma/src/wlan_qct_wma_legacy.c",
601    "core/wma/src/wma_data.c",
602    "core/wma/src/wma_dev_if.c",
603    "core/wma/src/wma_features.c",
604    "core/wma/src/wma_main.c",
605    "core/wma/src/wma_mgmt.c",
606    "core/wma/src/wma_power.c",
607    "core/wma/src/wma_scan_roam.c",
608    "core/wma/src/wma_utils.c",
609    "os_if/dp/src/os_if_dp.c",
610    "os_if/dp/src/os_if_dp_txrx.c",
611    "os_if/p2p/src/wlan_cfg80211_p2p.c",
612    "os_if/sync/src/osif_driver_sync.c",
613    "os_if/sync/src/osif_psoc_sync.c",
614    "os_if/sync/src/osif_sync.c",
615    "os_if/sync/src/osif_vdev_sync.c",
616]
617
618_conditional_srcs = {
619    "CONFIG_BAND_6GHZ": {
620        True: [
621            "cmn/umac/scan/core/src/wlan_scan_manager_6ghz.c",
622        ],
623    },
624    "CONFIG_BERYLLIUM": {
625        True: [
626            # TODO: how to handle Kbuild logic
627            #ifneq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
628            #ifeq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
629            "cmn/dp/cmn_dp_api/dp_ratetable.c",
630            "cmn/dp/wifi3.0/be/dp_be.c",
631            "cmn/dp/wifi3.0/be/dp_be_rx.c",
632            "cmn/dp/wifi3.0/be/dp_be_tx.c",
633            "cmn/dp/wifi3.0/dp_reo.c",
634            "cmn/dp/wifi3.0/dp_rings_main.c",
635            "cmn/dp/wifi3.0/dp_rx_err.c",
636            "cmn/dp/wifi3.0/dp_rx_tid.c",
637            "cmn/hal/wifi3.0/be/hal_be_generic_api.c",
638            "cmn/hal/wifi3.0/be/hal_be_reo.c",
639            "cmn/hal/wifi3.0/hal_reo.c",
640            "cmn/hal/wifi3.0/hal_srng.c",
641            "cmn/hif/src/ce/ce_service_srng.c",
642            "cmn/wlan_cfg/wlan_cfg.c",
643            "components/dp/core/src/wlan_dp_prealloc.c",
644        ],
645    },
646    "CONFIG_BUS_AUTO_SUSPEND": {
647        True: [
648            #TODO: need SYSFS-specific flag
649            "core/hdd/src/wlan_hdd_sysfs_runtime_pm.c",
650        ],
651    },
652    "CONFIG_CM_UTF_ENABLE": {
653        True: [
654            "components/umac/mlme/connection_mgr/utf/src/cm_utf.c",
655            "cmn/umac/mlme/connection_mgr/utf/src/wlan_cm_utf_main.c",
656            "cmn/umac/mlme/connection_mgr/utf/src/wlan_cm_utf_scan.c",
657        ],
658    },
659    "CONFIG_CNSS2_SSR_DRIVER_DUMP": {
660        True: [
661            "cmn/qdf/linux/src/qdf_ssr_driver_dump.c",
662        ],
663    },
664    "CONFIG_CNSS_KIWI_V2": {
665        True: [
666            "cmn/hal/wifi3.0/kiwi/hal_kiwi.c",
667            "cmn/hif/src/kiwidef.c",
668        ],
669    },
670    "CONFIG_CNSS_PEACH": {
671        True: [
672            "cmn/hal/wifi3.0/kiwi/hal_kiwi.c",
673        ],
674    },
675    "CONFIG_CP_STATS": {
676        True: [
677            "cmn/target_if/cp_stats/src/target_if_cp_stats.c",
678            "cmn/umac/cp_stats/core/src/wlan_cp_stats_comp_handler.c",
679            "cmn/umac/cp_stats/core/src/wlan_cp_stats_obj_mgr_handler.c",
680            "cmn/umac/cp_stats/core/src/wlan_cp_stats_ol_api.c",
681            "cmn/umac/cp_stats/dispatcher/src/wlan_cp_stats_ucfg_api.c",
682            "cmn/umac/cp_stats/dispatcher/src/wlan_cp_stats_utils_api.c",
683            "cmn/wmi/src/wmi_unified_cp_stats_api.c",
684            "cmn/wmi/src/wmi_unified_cp_stats_tlv.c",
685            "components/cp_stats/dispatcher/src/wlan_cp_stats_mc_tgt_api.c",
686            "components/cp_stats/dispatcher/src/wlan_cp_stats_mc_ucfg_api.c",
687            "components/target_if/cp_stats/src/target_if_mc_cp_stats.c",
688            "components/wmi/src/wmi_unified_mc_cp_stats_api.c",
689            "components/wmi/src/wmi_unified_mc_cp_stats_tlv.c",
690            "os_if/cp_stats/src/wlan_cfg80211_mc_cp_stats.c",
691        ],
692    },
693    "CONFIG_DCS": {
694        True: [
695            "cmn/target_if/dcs/src/target_if_dcs.c",
696            "cmn/umac/dcs/core/src/wlan_dcs.c",
697            "cmn/umac/dcs/dispatcher/src/wlan_dcs_init_deinit_api.c",
698            "cmn/umac/dcs/dispatcher/src/wlan_dcs_tgt_api.c",
699            "cmn/umac/dcs/dispatcher/src/wlan_dcs_ucfg_api.c",
700            "cmn/wmi/src/wmi_unified_dcs_api.c",
701            "cmn/wmi/src/wmi_unified_dcs_tlv.c",
702            "core/hdd/src/wlan_hdd_dcs.c",
703        ],
704    },
705    "CONFIG_DIRECT_BUF_RX_ENABLE": {
706        True: [
707            "cmn/target_if/direct_buf_rx/src/target_if_direct_buf_rx_api.c",
708            "cmn/target_if/direct_buf_rx/src/target_if_direct_buf_rx_main.c",
709            "cmn/wmi/src/wmi_unified_dbr_api.c",
710            "cmn/wmi/src/wmi_unified_dbr_tlv.c",
711        ],
712    },
713    "CONFIG_DP_HW_TX_DELAY_STATS_ENABLE": {
714        True: [
715            "core/hdd/src/wlan_hdd_sysfs_dp_tx_delay_stats.c",
716        ],
717    },
718    "CONFIG_DP_PKT_ADD_TIMESTAMP": {
719        True: [
720            # TODO: need separate cfg for sysfs
721            "core/hdd/src/wlan_hdd_sysfs_add_timestamp.c",
722            "cmn/qdf/linux/src/qdf_pkt_add_timestamp.c",
723        ],
724    },
725    "CONFIG_DP_SWLM": {
726        True: [
727            # TODO: need separate cfg for sysfs
728            "core/hdd/src/wlan_hdd_sysfs_swlm.c",
729            "components/dp/core/src/wlan_dp_swlm.c",
730        ],
731    },
732    "CONFIG_DP_TRAFFIC_END_INDICATION": {
733        True: [
734            "core/hdd/src/wlan_hdd_sysfs_dp_traffic_end_indication.c",
735        ],
736    },
737    "CONFIG_DSC_TEST": {
738        True: [
739            "components/dsc/test/wlan_dsc_test.c",
740        ],
741    },
742    "CONFIG_FEATURE_ACTIVE_TOS": {
743        True: [
744            "core/hdd/src/wlan_hdd_active_tos.c",
745        ],
746    },
747    "CONFIG_FEATURE_BSS_TRANSITION": {
748        True: [
749            "core/hdd/src/wlan_hdd_bss_transition.c",
750        ],
751    },
752    "CONFIG_FEATURE_COEX": {
753        True: [
754            "components/coex/core/src/wlan_coex_main.c",
755            "components/coex/dispatcher/src/wlan_coex_tgt_api.c",
756            "components/coex/dispatcher/src/wlan_coex_ucfg_api.c",
757            "components/coex/dispatcher/src/wlan_coex_utils_api.c",
758            "components/target_if/coex/src/target_if_coex.c",
759            "os_if/coex/src/wlan_cfg80211_coex.c",
760        ],
761    },
762    "CONFIG_FEATURE_CONCURRENCY_MATRIX": {
763        True: [
764            "core/hdd/src/wlan_hdd_concurrency_matrix.c",
765        ],
766    },
767    "CONFIG_FEATURE_DENYLIST_MGR": {
768        True: [
769            "components/denylist_mgr/core/src/wlan_dlm_core.c",
770            "components/denylist_mgr/core/src/wlan_dlm_main.c",
771            "components/denylist_mgr/dispatcher/src/wlan_dlm_tgt_api.c",
772            "components/denylist_mgr/dispatcher/src/wlan_dlm_ucfg_api.c",
773            "components/target_if/denylist_mgr/src/target_if_dlm.c",
774        ],
775    },
776    "CONFIG_FEATURE_DIRECT_LINK": {
777        True: [
778            # TODO: need sysfs-specific flag
779            "core/hdd/src/wlan_hdd_sysfs_direct_link_ut_cmd.c",
780            "components/dp/core/src/wlan_dp_wfds.c",
781        ],
782    },
783    "CONFIG_FEATURE_EPPING": {
784        True: [
785            "cmn/utils/epping/src/epping_helper.c",
786            "cmn/utils/epping/src/epping_main.c",
787            "cmn/utils/epping/src/epping_rx.c",
788            "cmn/utils/epping/src/epping_tx.c",
789            "cmn/utils/epping/src/epping_txrx.c",
790        ],
791    },
792    "CONFIG_FEATURE_FW_LOG_PARSING": {
793        True: [
794            "cmn/utils/fwlog/dbglog_host.c",
795        ],
796    },
797    "CONFIG_FEATURE_GPIO_CFG": {
798        True: [
799            "core/hdd/src/wlan_hdd_gpio.c",
800            "cmn/gpio/core/src/wlan_gpio_api.c",
801            "cmn/gpio/dispatcher/src/wlan_gpio_tgt_api.c",
802            "cmn/gpio/dispatcher/src/wlan_gpio_ucfg_api.c",
803            "cmn/os_if/linux/gpio/src/wlan_cfg80211_gpio.c",
804            "cmn/target_if/gpio/target_if_gpio.c",
805            "cmn/wmi/src/wmi_unified_gpio_api.c",
806            "cmn/wmi/src/wmi_unified_gpio_tlv.c",
807        ],
808    },
809    "CONFIG_FEATURE_HTC_CREDIT_HISTORY": {
810        True: [
811            "cmn/htc/htc_credit_history.c",
812        ],
813    },
814    "CONFIG_FEATURE_INTEROP_ISSUES_AP": {
815        True: [
816            "cmn/wmi/src/wmi_unified_interop_issues_ap_api.c",
817            "cmn/wmi/src/wmi_unified_interop_issues_ap_tlv.c",
818            "components/interop_issues_ap/core/src/wlan_interop_issues_ap_api.c",
819            "components/interop_issues_ap/dispatcher/src/wlan_interop_issues_ap_tgt_api.c",
820            "components/interop_issues_ap/dispatcher/src/wlan_interop_issues_ap_ucfg_api.c",
821            "components/target_if/interop_issues_ap/src/target_if_interop_issues_ap.c",
822            "os_if/interop_issues_ap/src/wlan_cfg80211_interop_issues_ap.c",
823        ],
824    },
825    "CONFIG_FEATURE_MEC": {
826        True: [
827            "cmn/dp/wifi3.0/dp_txrx_wds.c",
828        ],
829    },
830    "CONFIG_FEATURE_MEMDUMP_ENABLE": {
831        True: [
832            "core/hdd/src/wlan_hdd_memdump.c",
833        ],
834    },
835    "CONFIG_FEATURE_MONITOR_MODE_SUPPORT": {
836        True: [
837            "core/hdd/src/wlan_hdd_rx_monitor.c",
838        ],
839    },
840    "CONFIG_FEATURE_MOTION_DETECTION": {
841        True: [
842            "core/hdd/src/wlan_hdd_sysfs_motion_detection.c",
843        ],
844    },
845    "CONFIG_FEATURE_OTA_TEST": {
846        True: [
847            "core/hdd/src/wlan_hdd_ota_test.c",
848        ],
849    },
850    "CONFIG_FEATURE_P2P_LISTEN_OFFLOAD": {
851        True: [
852            "core/hdd/src/wlan_hdd_p2p_listen_offload.c",
853        ],
854    },
855    "CONFIG_FEATURE_RSSI_MONITOR": {
856        True: [
857            "core/hdd/src/wlan_hdd_rssi_monitor.c",
858        ],
859    },
860    "CONFIG_FEATURE_SAP_COND_CHAN_SWITCH": {
861        True: [
862            "core/hdd/src/wlan_hdd_sap_cond_chan_switch.c",
863        ],
864    },
865    "CONFIG_FEATURE_SAR_LIMITS": {
866        True: [
867            "core/hdd/src/wlan_hdd_sar_limits.c",
868        ],
869    },
870    "CONFIG_FEATURE_SET": {
871        True: [
872            "core/hdd/src/wlan_hdd_sysfs_wifi_features.c",
873        ],
874    },
875    "CONFIG_FEATURE_STATION_INFO": {
876        True: [
877            "core/hdd/src/wlan_hdd_station_info.c",
878        ],
879    },
880    "CONFIG_FEATURE_TX_POWER": {
881        True: [
882            "core/hdd/src/wlan_hdd_tx_power.c",
883        ],
884    },
885    "CONFIG_FEATURE_UNIT_TEST_SUSPEND": {
886        True: [
887            "cmn/hif/src/hif_unit_test_suspend.c",
888            #TODO: need separate flag for sysfs
889            "core/hdd/src/wlan_hdd_sysfs_suspend_resume.c",
890        ],
891    },
892    "CONFIG_FEATURE_VDEV_OPS_WAKELOCK": {
893        True: [
894            "cmn/target_if/mlme/psoc/src/target_if_psoc_wake_lock.c",
895        ],
896    },
897    "CONFIG_FEATURE_WDS": {
898        True: [
899            "core/hdd/src/wlan_hdd_wds.c",
900            "cmn/wmi/src/wmi_unified_wds_api.c",
901            "cmn/wmi/src/wmi_unified_wds_tlv.c",
902        ],
903    },
904    "CONFIG_FEATURE_WLAN_CH_AVOID_EXT": {
905        True: [
906            "core/hdd/src/wlan_hdd_avoid_freq_ext.c",
907        ],
908    },
909    "CONFIG_FEATURE_WLAN_EXTSCAN": {
910        True: [
911            "cmn/umac/scan/dispatcher/src/wlan_extscan_api.c",
912            "cmn/wmi/src/wmi_unified_extscan_api.c",
913            "cmn/wmi/src/wmi_unified_extscan_tlv.c",
914            "core/hdd/src/wlan_hdd_ext_scan.c",
915        ],
916    },
917    "CONFIG_FEATURE_WLAN_PRE_CAC": {
918        True: [
919            "components/pre_cac/core/src/wlan_pre_cac_main.c",
920            "components/pre_cac/dispatcher/src/wlan_pre_cac_api.c",
921            "components/pre_cac/dispatcher/src/wlan_pre_cac_ucfg_api.c",
922            "core/hdd/src/wlan_hdd_pre_cac.c",
923            "os_if/pre_cac/src/osif_pre_cac.c",
924        ],
925    },
926    "CONFIG_FEATURE_WLAN_TIME_SYNC_FTM": {
927        True: [
928            "components/ftm_time_sync/core/src/ftm_time_sync_main.c",
929            "components/ftm_time_sync/dispatcher/src/ftm_time_sync_ucfg_api.c",
930            "components/ftm_time_sync/dispatcher/src/wlan_ftm_time_sync_tgt_api.c",
931            "components/target_if/ftm_time_sync/src/target_if_ftm_time_sync.c",
932            "core/hdd/src/wlan_hdd_ftm_time_sync.c",
933        ],
934    },
935    "CONFIG_FW_THERMAL_THROTTLE": {
936        True: [
937            "core/hdd/src/wlan_hdd_thermal.c",
938        ],
939    },
940    "CONFIG_HIF_IPCI": {
941        True: [
942            "cmn/hif/src/dispatcher/multibus_ipci.c",
943        ],
944    },
945    "CONFIG_HIF_PCI": {
946        True: [
947            "cmn/hif/src/dispatcher/multibus_pci.c",
948            "cmn/hif/src/pcie/if_pci.c",
949            "core/pld/src/pld_pcie.c",
950        ],
951    },
952    "CONFIG_HIF_SDIO": {
953        True: [
954            "cmn/hif/src/dispatcher/multibus_sdio.c",
955        ],
956    },
957    "CONFIG_HIF_SNOC": {
958        True: [
959            "cmn/hif/src/dispatcher/multibus_snoc.c",
960        ],
961    },
962    "CONFIG_HIF_USB": {
963        True: [
964            "cmn/hif/src/dispatcher/multibus_usb.c",
965            "core/pld/src/pld_usb.c",
966        ],
967    },
968    "LEGACY_CONFIG_HL_DP_SUPPORT": {
969        True: [
970            "core/dp/txrx/ol_tx_classify.c",
971            "core/dp/txrx/ol_tx_hl.c",
972            "core/dp/txrx/ol_tx_queue.c",
973            "core/dp/txrx/ol_tx_sched.c",
974        ],
975    },
976    "CONFIG_HOST_11D_SCAN": {
977        True: [
978            "cmn/umac/regulatory/core/src/reg_host_11d.c",
979        ],
980    },
981    "CONFIG_IPA_OFFLOAD": {
982        True: [
983            "cmn/dp/wifi3.0/dp_ipa.c",
984            "cmn/qdf/linux/src/qdf_ipa.c",
985            "cmn/ipa/core/src/wlan_ipa_core.c",
986            "cmn/ipa/core/src/wlan_ipa_main.c",
987            "cmn/ipa/core/src/wlan_ipa_rm.c",
988            "cmn/ipa/core/src/wlan_ipa_stats.c",
989            "cmn/ipa/dispatcher/src/wlan_ipa_obj_mgmt_api.c",
990            "cmn/ipa/dispatcher/src/wlan_ipa_tgt_api.c",
991            "cmn/ipa/dispatcher/src/wlan_ipa_ucfg_api.c",
992            "cmn/target_if/ipa/src/target_if_ipa.c",
993            "core/hdd/src/wlan_hdd_ipa.c",
994            # TODO: need a separate flag for sysfs
995            "core/hdd/src/wlan_hdd_sysfs_ipa.c",
996        ],
997    },
998    "CONFIG_IPCIE_FW_SIM": {
999        True: [
1000            "core/pld/src/pld_pcie_fw_sim.c",
1001        ],
1002    },
1003    "CONFIG_LEAK_DETECTION": {
1004        True: [
1005            "cmn/qdf/src/qdf_debug_domain.c",
1006            "cmn/qdf/src/qdf_tracker.c",
1007        ],
1008    },
1009    "CONFIG_LFR_SUBNET_DETECTION": {
1010        True: [
1011            "core/hdd/src/wlan_hdd_subnet_detect.c",
1012        ],
1013    },
1014    "CONFIG_LINUX_QCMBR": {
1015        True: [
1016            "cmn/os_if/linux/ftm/src/wlan_ioctl_ftm.c",
1017        ],
1018    },
1019    "CONFIG_LITHIUM": {
1020        True: [
1021            # TODO: how to handle Kbuild logic
1022            #ifneq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
1023            #ifeq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
1024            "cmn/dp/cmn_dp_api/dp_ratetable.c",
1025            "cmn/dp/wifi3.0/li/dp_li.c",
1026            "cmn/dp/wifi3.0/li/dp_li_rx.c",
1027            "cmn/dp/wifi3.0/li/dp_li_tx.c",
1028            "cmn/dp/wifi3.0/dp_reo.c",
1029            "cmn/dp/wifi3.0/dp_rings_main.c",
1030            "cmn/dp/wifi3.0/dp_rx_err.c",
1031            "cmn/dp/wifi3.0/dp_rx_tid.c",
1032            "cmn/hal/wifi3.0/hal_reo.c",
1033            "cmn/hal/wifi3.0/hal_srng.c",
1034            "cmn/hal/wifi3.0/li/hal_li_generic_api.c",
1035            "cmn/hal/wifi3.0/li/hal_li_reo.c",
1036            "cmn/hif/src/ce/ce_service_srng.c",
1037            "cmn/wlan_cfg/wlan_cfg.c",
1038            "components/dp/core/src/wlan_dp_prealloc.c",
1039        ],
1040    },
1041    "LEGACY_CONFIG_LL_DP_SUPPORT": {
1042        True: [
1043            "core/dp/txrx/ol_tx_ll.c",
1044        ],
1045    },
1046    "CONFIG_OCB_UT_FRAMEWORK": {
1047        True: [
1048            "cmn/wmi/src/wmi_unified_ocb_ut.c",
1049        ],
1050    },
1051    "CONFIG_PCIE_FW_SIM": {
1052        True: [
1053            "core/pld/src/pld_pcie_fw_sim.c",
1054        ],
1055    },
1056    "CONFIG_PKTLOG_LEGACY": {
1057        True: [
1058            "cmn/utils/pktlog/pktlog_wifi2.c",
1059        ],
1060    },
1061    "CONFIG_FEATURE_PKTLOG_EN_NON_LEGACY": {
1062        True: [
1063            "cmn/utils/pktlog/pktlog_wifi3.c",
1064        ],
1065    },
1066    "CONFIG_PKT_LOG": {
1067        #TODO: Currently this is CONFIG_REMOVE_PKT_LOG but expect it to change
1068        #      Also need a separate config for sysfs
1069        True: [
1070            "cmn/utils/pktlog/linux_ac.c",
1071            "cmn/utils/pktlog/pktlog_ac.c",
1072            "cmn/utils/pktlog/pktlog_internal.c",
1073            "core/hdd/src/wlan_hdd_sysfs_pktlog.c",
1074        ],
1075    },
1076    "CONFIG_PLD_IPCI_ICNSS_FLAG": {
1077        True: [
1078            "core/pld/src/pld_ipci.c",
1079        ],
1080    },
1081    "CONFIG_PLD_SNOC_ICNSS_FLAG": {
1082        True: [
1083            "core/pld/src/pld_snoc.c",
1084        ],
1085    },
1086    "CONFIG_POWER_MANAGEMENT_OFFLOAD": {
1087        True: [
1088            "cmn/wmi/src/wmi_unified_pmo_api.c",
1089            "cmn/wmi/src/wmi_unified_pmo_tlv.c",
1090            "components/pmo/core/src/wlan_pmo_apf.c",
1091            "components/pmo/core/src/wlan_pmo_arp.c",
1092            "components/pmo/core/src/wlan_pmo_gtk.c",
1093            "components/pmo/core/src/wlan_pmo_hw_filter.c",
1094            "components/pmo/core/src/wlan_pmo_lphb.c",
1095            "components/pmo/core/src/wlan_pmo_main.c",
1096            "components/pmo/core/src/wlan_pmo_mc_addr_filtering.c",
1097            "components/pmo/core/src/wlan_pmo_static_config.c",
1098            "components/pmo/core/src/wlan_pmo_suspend_resume.c",
1099            "components/pmo/core/src/wlan_pmo_wow.c",
1100            "components/pmo/dispatcher/src/wlan_pmo_obj_mgmt_api.c",
1101            "components/pmo/dispatcher/src/wlan_pmo_tgt_arp.c",
1102            "components/pmo/dispatcher/src/wlan_pmo_tgt_gtk.c",
1103            "components/pmo/dispatcher/src/wlan_pmo_tgt_hw_filter.c",
1104            "components/pmo/dispatcher/src/wlan_pmo_tgt_lphb.c",
1105            "components/pmo/dispatcher/src/wlan_pmo_tgt_mc_addr_filtering.c",
1106            "components/pmo/dispatcher/src/wlan_pmo_tgt_static_config.c",
1107            "components/pmo/dispatcher/src/wlan_pmo_tgt_suspend_resume.c",
1108            "components/pmo/dispatcher/src/wlan_pmo_tgt_wow.c",
1109            "components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c",
1110            "components/target_if/pmo/src/target_if_pmo_arp.c",
1111            "components/target_if/pmo/src/target_if_pmo_gtk.c",
1112            "components/target_if/pmo/src/target_if_pmo_hw_filter.c",
1113            "components/target_if/pmo/src/target_if_pmo_lphb.c",
1114            "components/target_if/pmo/src/target_if_pmo_main.c",
1115            "components/target_if/pmo/src/target_if_pmo_mc_addr_filtering.c",
1116            "components/target_if/pmo/src/target_if_pmo_static_config.c",
1117            "components/target_if/pmo/src/target_if_pmo_suspend_resume.c",
1118            "components/target_if/pmo/src/target_if_pmo_wow.c",
1119        ],
1120    },
1121    "CONFIG_QCACLD_FEATURE_APF": {
1122        True: [
1123            "core/hdd/src/wlan_hdd_apf.c",
1124            "cmn/wmi/src/wmi_unified_apf_tlv.c",
1125        ],
1126    },
1127    "CONFIG_QCACLD_FEATURE_BTC_CHAIN_MODE": {
1128        True: [
1129            "core/hdd/src/wlan_hdd_btc_chain_mode.c",
1130        ],
1131    },
1132    "CONFIG_QCACLD_FEATURE_COEX_CONFIG": {
1133        True: [
1134            "core/hdd/src/wlan_hdd_coex_config.c",
1135        ],
1136    },
1137    "CONFIG_QCACLD_FEATURE_FW_STATE": {
1138        True: [
1139            "core/hdd/src/wlan_hdd_fw_state.c",
1140            "core/wma/src/wma_fw_state.c",
1141        ],
1142    },
1143    "CONFIG_QCACLD_FEATURE_GREEN_AP": {
1144        True: [
1145            "cmn/target_if/green_ap/src/target_if_green_ap.c",
1146            "cmn/umac/green_ap/core/src/wlan_green_ap_main.c",
1147            "cmn/umac/green_ap/dispatcher/src/wlan_green_ap_api.c",
1148            "cmn/umac/green_ap/dispatcher/src/wlan_green_ap_ucfg_api.c",
1149            "core/hdd/src/wlan_hdd_green_ap.c",
1150        ],
1151    },
1152    "CONFIG_QCACLD_FEATURE_HW_CAPABILITY": {
1153        True: [
1154            "core/hdd/src/wlan_hdd_hw_capability.c",
1155        ],
1156    },
1157    "CONFIG_QCACLD_FEATURE_MPTA_HELPER": {
1158        True: [
1159            "core/hdd/src/wlan_hdd_mpta_helper.c",
1160        ],
1161    },
1162    "CONFIG_QCACLD_FEATURE_NAN": {
1163        True: [
1164            "cmn/wmi/src/wmi_unified_nan_api.c",
1165            "cmn/wmi/src/wmi_unified_nan_tlv.c",
1166            "components/nan/core/src/nan_api.c",
1167            "components/nan/core/src/nan_main.c",
1168            "components/nan/dispatcher/src/cfg_nan.c",
1169            "components/nan/dispatcher/src/nan_ucfg_api.c",
1170            "components/nan/dispatcher/src/wlan_nan_api.c",
1171            "components/target_if/nan/src/target_if_nan.c",
1172            "core/hdd/src/wlan_hdd_nan.c",
1173            "core/hdd/src/wlan_hdd_nan_datapath.c",
1174            "core/mac/src/pe/nan/nan_datapath.c",
1175            "core/sme/src/nan/nan_datapath_api.c",
1176            "core/wma/src/wma_nan_datapath.c",
1177            "os_if/nan/src/os_if_nan.c",
1178        ],
1179    },
1180    "CONFIG_QCACLD_FEATURE_SON": {
1181        True: [
1182            "cmn/target_if/son/src/target_if_son.c",
1183            "components/son/dispatcher/src/son_api.c",
1184            "components/son/dispatcher/src/son_ucfg_api.c",
1185            "core/hdd/src/wlan_hdd_son.c",
1186            "os_if/son/src/os_if_son.c",
1187        ],
1188    },
1189    "CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_EVENT": {
1190        True: [
1191            "core/hdd/src/wlan_hdd_connectivity_logging.c",
1192            "components/cmn_services/logging/src/wlan_connectivity_logging.c",
1193        ],
1194    },
1195    "CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_LOGGING": {
1196        True: [
1197            "core/hdd/src/wlan_hdd_connectivity_logging.c",
1198            "components/cmn_services/logging/src/wlan_connectivity_logging.c",
1199        ],
1200    },
1201    "CONFIG_QCACLD_WLAN_LFR2": {
1202        True: [
1203            "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_host_roam.c",
1204            "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_roam_util.c",
1205            "components/umac/mlme/connection_mgr/core/src/wlan_cm_host_roam_preauth.c",
1206            "components/umac/mlme/connection_mgr/core/src/wlan_cm_host_util.c",
1207            "core/mac/src/pe/lim/lim_ft_preauth.c",
1208            "core/mac/src/pe/lim/lim_process_mlm_host_roam.c",
1209            "core/mac/src/pe/lim/lim_reassoc_utils.c",
1210            "core/mac/src/pe/lim/lim_roam_timer_utils.c",
1211            "core/mac/src/pe/lim/lim_send_frames_host_roam.c",
1212        ],
1213    },
1214    "CONFIG_QCACLD_WLAN_LFR3": {
1215        True: [
1216            "cmn/umac/mlme/connection_mgr/core/src/wlan_cm_roam_util.c",
1217            "components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c",
1218            "components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload_event.c",
1219        ],
1220    },
1221    "LEGACY_CONFIG_QCA_SUPPORT_TX_THROTTLE": {
1222        True: [
1223            "core/dp/txrx/ol_tx_throttle.c",
1224        ],
1225    },
1226    "CONFIG_QCA_WIFI_FTM": {
1227        True: [
1228            "cmn/ftm/core/src/wlan_ftm_svc.c",
1229            "cmn/ftm/dispatcher/src/wlan_ftm_init_deinit.c",
1230            "cmn/ftm/dispatcher/src/wlan_ftm_ucfg_api.c",
1231            "cmn/target_if/ftm/src/target_if_ftm.c",
1232        ],
1233    },
1234    "CONFIG_QCA_WIFI_FTM_NL80211": {
1235        True: [
1236            "cmn/os_if/linux/ftm/src/wlan_cfg80211_ftm.c",
1237        ],
1238    },
1239    "CONFIG_QCA_WIFI_SDIO": {
1240        True: [
1241            "core/pld/src/pld_sdio.c",
1242        ],
1243    },
1244    "CONFIG_QCOM_TDLS": {
1245        True: [
1246            "components/target_if/tdls/src/target_if_tdls.c",
1247            "components/tdls/core/src/wlan_tdls_cmds_process.c",
1248            "components/tdls/core/src/wlan_tdls_ct.c",
1249            "components/tdls/core/src/wlan_tdls_main.c",
1250            "components/tdls/core/src/wlan_tdls_mgmt.c",
1251            "components/tdls/core/src/wlan_tdls_peer.c",
1252            "components/tdls/dispatcher/src/wlan_tdls_api.c",
1253            "components/tdls/dispatcher/src/wlan_tdls_cfg.c",
1254            "components/tdls/dispatcher/src/wlan_tdls_tgt_api.c",
1255            "components/tdls/dispatcher/src/wlan_tdls_ucfg_api.c",
1256            "components/tdls/dispatcher/src/wlan_tdls_utils_api.c",
1257            "core/hdd/src/wlan_hdd_tdls.c",
1258            "core/mac/src/pe/lim/lim_process_tdls.c",
1259            "os_if/tdls/src/wlan_cfg80211_tdls.c",
1260        ],
1261    },
1262    "CONFIG_QDF_TEST": {
1263        True: [
1264            "cmn/qdf/test/qdf_delayed_work_test.c",
1265            "cmn/qdf/test/qdf_hashtable_test.c",
1266            "cmn/qdf/test/qdf_periodic_work_test.c",
1267            "cmn/qdf/test/qdf_ptr_hash_test.c",
1268            "cmn/qdf/test/qdf_slist_test.c",
1269            "cmn/qdf/test/qdf_talloc_test.c",
1270            "cmn/qdf/test/qdf_tracker_test.c",
1271            "cmn/qdf/test/qdf_types_test.c",
1272        ],
1273    },
1274    "CONFIG_QMI_COMPONENT_ENABLE": {
1275        True: [
1276            "components/qmi/core/src/wlan_qmi_main.c",
1277            "components/qmi/dispatcher/src/wlan_qmi_ucfg_api.c",
1278            "os_if/qmi/src/os_if_qmi.c",
1279        ],
1280    },
1281    "CONFIG_QMI_WFDS": {
1282        True: [
1283            "components/qmi/dispatcher/src/wlan_qmi_wfds_api.c",
1284            "os_if/qmi/src/os_if_qmi_wfds.c",
1285            "os_if/qmi/src/os_if_qmi_wifi_driver_service_v01.c",
1286        ],
1287    },
1288    "CONFIG_RHINE": {
1289        True: [
1290            # TODO: how to handle Kbuild logic
1291            #ifneq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
1292            #ifeq (y,$(filter y,$(CONFIG_LITHIUM) $(CONFIG_BERYLLIUM) $(CONFIG_RHINE)))
1293            "cmn/dp/cmn_dp_api/dp_ratetable.c",
1294            "cmn/dp/wifi3.0/rh/dp_rh.c",
1295            "cmn/dp/wifi3.0/rh/dp_rh_htt.c",
1296            "cmn/dp/wifi3.0/rh/dp_rh_rx.c",
1297            "cmn/dp/wifi3.0/rh/dp_rh_tx.c",
1298            "cmn/hal/wifi3.0/hal_reo.c",
1299            "cmn/hal/wifi3.0/hal_srng.c",
1300            "cmn/wlan_cfg/wlan_cfg.c",
1301            "components/dp/core/src/wlan_dp_prealloc.c",
1302        ],
1303    },
1304    "CONFIG_RX_FISA": {
1305        True: [
1306            "components/dp/core/src/wlan_dp_fisa_rx.c",
1307            "components/dp/core/src/wlan_dp_rx_fst.c",
1308            #TODO: check LITHIUM/BERYLLIUM/RHINE dependency
1309            "cmn/hal/wifi3.0/hal_rx_flow.c",
1310        ],
1311    },
1312    "CONFIG_SMP": {
1313        True: [
1314            "cmn/qdf/linux/src/qdf_cpuhp.c",
1315            "cmn/qdf/src/qdf_cpuhp.c",
1316        ],
1317    },
1318    "CONFIG_SM_ENG_HIST": {
1319        True: [
1320            "cmn/umac/cmn_services/sm_engine/src/wlan_sm_engine_dbg.c",
1321        ],
1322    },
1323    "CONFIG_SNOC_FW_SIM": {
1324        True: [
1325            "core/pld/src/pld_snoc_fw_sim.c",
1326        ],
1327    },
1328    "CONFIG_UNIT_TEST": {
1329        True: [
1330            "core/hdd/src/wlan_hdd_unit_test.c",
1331        ],
1332    },
1333    "CONFIG_WDI_EVENT_ENABLE": {
1334        True: [
1335            "core/dp/txrx/ol_txrx_event.c",
1336            "cmn/dp/wifi3.0/dp_wdi_event.c",
1337        ],
1338    },
1339    "CONFIG_WIFI_MONITOR_SUPPORT": {
1340        True: [
1341            "cmn/dp/wifi3.0/monitor/1.0/dp_mon_1.0.c",
1342            "cmn/dp/wifi3.0/monitor/1.0/dp_mon_filter_1.0.c",
1343            "cmn/dp/wifi3.0/monitor/1.0/dp_rx_mon_dest_1.0.c",
1344            "cmn/dp/wifi3.0/monitor/1.0/dp_rx_mon_status_1.0.c",
1345            "cmn/dp/wifi3.0/monitor/dp_mon.c",
1346            "cmn/dp/wifi3.0/monitor/dp_mon_filter.c",
1347            "cmn/dp/wifi3.0/monitor/dp_rx_mon.c",
1348        ],
1349    },
1350    "CONFIG_WIFI_MONITOR_SUPPORT_Y_WLAN_TX_MON_2_0": {
1351        True: [
1352            "cmn/dp/wifi3.0/monitor/2.0/dp_mon_2.0.c",
1353            "cmn/dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c",
1354            "cmn/dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c",
1355            "cmn/dp/wifi3.0/monitor/2.0/dp_tx_mon_status_2.0.c",
1356        ],
1357    },
1358    "CONFIG_WLAN_TX_MON_2_0_Y_WLAN_DP_LOCAL_PKT_CAPTURE": {
1359        True: [
1360            "os_if/dp/src/os_if_dp_local_pkt_capture.c",
1361        ],
1362    },
1363    "CONFIG_WIFI_POS_CONVERGED": {
1364        True: [
1365            "cmn/os_if/linux/wifi_pos/src/os_if_wifi_pos.c",
1366            "cmn/os_if/linux/wifi_pos/src/os_if_wifi_pos_utils.c",
1367            "cmn/os_if/linux/wifi_pos/src/wlan_cfg80211_wifi_pos.c",
1368            "cmn/target_if/wifi_pos/src/target_if_wifi_pos.c",
1369            "cmn/target_if/wifi_pos/src/target_if_wifi_pos_rx_ops.c",
1370            "cmn/target_if/wifi_pos/src/target_if_wifi_pos_tx_ops.c",
1371            "cmn/umac/wifi_pos/src/wifi_pos_api.c",
1372            "cmn/umac/wifi_pos/src/wifi_pos_main.c",
1373            "cmn/umac/wifi_pos/src/wifi_pos_ucfg.c",
1374            "cmn/umac/wifi_pos/src/wifi_pos_utils.c",
1375            "components/wifi_pos/dispatcher/src/wifi_pos_ucfg_api.c",
1376        ],
1377    },
1378    "CONFIG_WIFI_POS_PASN": {
1379        True: [
1380            "cmn/umac/wifi_pos/src/wifi_pos_pasn_api.c",
1381            "components/wifi_pos/core/src/wlan_wifi_pos_interface.c",
1382            "core/hdd/src/wlan_hdd_wifi_pos_pasn.c",
1383            "core/wma/src/wma_pasn_peer_api.c",
1384        ],
1385    },
1386    "CONFIG_WLAN_BCN_RECV_FEATURE": {
1387        True: [
1388            "core/hdd/src/wlan_hdd_bcn_recv.c",
1389        ],
1390    },
1391    "CONFIG_WLAN_BMISS": {
1392        True: [
1393            "core/hdd/src/wlan_hdd_sysfs_bmiss.c",
1394        ],
1395    },
1396    "CONFIG_WLAN_BOOTUP_MARKER": {
1397        True: [
1398            "core/hdd/src/wlan_hdd_bootup_marker.c",
1399        ],
1400    },
1401    "CONFIG_WLAN_CFR_ADRASTEA": {
1402        True: [
1403            "cmn/target_if/cfr/src/target_if_cfr_adrastea.c",
1404        ],
1405    },
1406    "CONFIG_WLAN_CFR_DBR": {
1407        True: [
1408            "cmn/target_if/cfr/src/target_if_cfr_dbr.c",
1409        ],
1410    },
1411    "CONFIG_WLAN_CFR_ENABLE": {
1412        True: [
1413            "cmn/target_if/cfr/src/target_if_cfr.c",
1414            "cmn/target_if/cfr/src/target_if_cfr_6490.c",
1415            "cmn/umac/cfr/core/src/cfr_common.c",
1416            "cmn/umac/cfr/dispatcher/src/wlan_cfr_tgt_api.c",
1417            "cmn/umac/cfr/dispatcher/src/wlan_cfr_ucfg_api.c",
1418            "cmn/umac/cfr/dispatcher/src/wlan_cfr_utils_api.c",
1419            "cmn/wmi/src/wmi_unified_cfr_api.c",
1420            "cmn/wmi/src/wmi_unified_cfr_tlv.c",
1421            "core/hdd/src/wlan_hdd_cfr.c",
1422        ],
1423    },
1424    "CONFIG_WLAN_CONV_SPECTRAL_ENABLE": {
1425        True: [
1426            "core/hdd/src/wlan_hdd_spectralscan.c",
1427            "cmn/spectral/core/spectral_common.c",
1428            "cmn/spectral/core/spectral_offload.c",
1429            "cmn/spectral/dispatcher/src/wlan_spectral_tgt_api.c",
1430            "cmn/spectral/dispatcher/src/wlan_spectral_ucfg_api.c",
1431            "cmn/spectral/dispatcher/src/wlan_spectral_utils_api.c",
1432            "cmn/os_if/linux/spectral/src/os_if_spectral_netlink.c",
1433            "cmn/os_if/linux/spectral/src/wlan_cfg80211_spectral.c",
1434            "cmn/target_if/spectral/target_if_spectral.c",
1435            "cmn/target_if/spectral/target_if_spectral_netlink.c",
1436            "cmn/target_if/spectral/target_if_spectral_phyerr.c",
1437            "cmn/target_if/spectral/target_if_spectral_sim.c",
1438        ],
1439    },
1440    "CONFIG_WLAN_DEBUGFS": {
1441        True: [
1442            "core/hdd/src/wlan_hdd_debugfs.c",
1443            "core/hdd/src/wlan_hdd_debugfs_config.c",
1444            "core/hdd/src/wlan_hdd_debugfs_csr.c",
1445            "core/hdd/src/wlan_hdd_debugfs_offload.c",
1446            "core/hdd/src/wlan_hdd_debugfs_roam.c",
1447            "core/hdd/src/wlan_hdd_debugfs_unit_test.c",
1448            "cmn/qdf/linux/src/qdf_debugfs.c",
1449        ],
1450    },
1451    "CONFIG_WLAN_DEBUG_CRASH_INJECT": {
1452        True: [
1453            "core/hdd/src/wlan_hdd_sysfs_crash_inject.c",
1454        ],
1455    },
1456    "CONFIG_WLAN_DFS_MASTER_ENABLE": {
1457        True: [
1458            "cmn/target_if/dfs/src/target_if_dfs.c",
1459            "cmn/umac/dfs/core/src/misc/dfs.c",
1460            "cmn/umac/dfs/core/src/misc/dfs_nol.c",
1461            "cmn/umac/dfs/core/src/misc/dfs_process_radar_found_ind.c",
1462            "cmn/umac/dfs/core/src/misc/dfs_random_chan_sel.c",
1463            "cmn/umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c",
1464            "cmn/umac/dfs/dispatcher/src/wlan_dfs_lmac_api.c",
1465            "cmn/umac/dfs/dispatcher/src/wlan_dfs_mlme_api.c",
1466            "cmn/umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c",
1467            "cmn/umac/dfs/dispatcher/src/wlan_dfs_ucfg_api.c",
1468            "cmn/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c",
1469            "cmn/wmi/src/wmi_unified_dfs_api.c",
1470        ],
1471    },
1472    "CONFIG_WLAN_DIAG_VERSION": {
1473        True: [
1474            "cmn/utils/host_diag_log/src/host_diag_log.c",
1475        ],
1476    },
1477    "CONFIG_WLAN_DL_MODES": {
1478        True: [
1479            "core/hdd/src/wlan_hdd_sysfs_dl_modes.c",
1480        ],
1481    },
1482    "CONFIG_WLAN_DUMP_IN_PROGRESS": {
1483        True: [
1484            "core/hdd/src/wlan_hdd_sysfs_dump_in_progress.c",
1485        ],
1486    },
1487    "CONFIG_WLAN_ENABLE_GPIO_WAKEUP": {
1488        True: [
1489            "core/hdd/src/wlan_hdd_gpio_wakeup.c",
1490        ],
1491    },
1492    "CONFIG_WLAN_ENH_CFR_ENABLE": {
1493        True: [
1494            "cmn/target_if/cfr/src/target_if_cfr_enh.c",
1495        ],
1496    },
1497    #"LEGACY_CONFIG_WLAN_FASTPATH": {
1498    #True: [
1499    #    "core/dp/txrx/ol_tx_ll_fastpath.c",
1500    #],
1501    #TODO: Will need to create a separate flag to handle false case
1502    #False: [
1503    #    "core/dp/txrx/ol_tx_ll_legacy.c",
1504    #],
1505    #},
1506    "CONFIG_WLAN_FEATURE_11AX": {
1507        True: [
1508            "core/hdd/src/wlan_hdd_he.c",
1509            "core/wma/src/wma_he.c",
1510        ],
1511    },
1512    "CONFIG_WLAN_FEATURE_11BE": {
1513        True: [
1514            "core/hdd/src/wlan_hdd_eht.c",
1515            "core/wma/src/wma_eht.c",
1516        ],
1517    },
1518    "CONFIG_WLAN_FEATURE_11BE_MLO": {
1519        True: [
1520            "core/hdd/src/wlan_hdd_mlo.c",
1521            "core/mac/src/pe/lim/lim_mlo.c",
1522            "cmn/target_if/mlo_mgr/src/target_if_mlo_mgr.c",
1523            "cmn/umac/mlo_mgr/src/utils_mlo.c",
1524            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_aid.c",
1525            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_ap.c",
1526            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_cmn.c",
1527            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_main.c",
1528            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_msgq.c",
1529            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_op.c",
1530            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_peer.c",
1531            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_peer_list.c",
1532            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_primary_umac.c",
1533            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_sta.c",
1534            "cmn/umac/mlo_mgr/src/wlan_mlo_t2lm.c",
1535            "components/umac/mlme/mlo_mgr/src/wlan_epcs_api.c",
1536            "cmn/umac/mlo_mgr/src/wlan_mlo_mgr_link_switch.c",
1537            "cmn/umac/mlo_mgr/src/wlan_mlo_epcs.c",
1538            "components/umac/mlme/mlo_mgr/dispatcher/src/wlan_mlo_epcs_ucfg_api.c",
1539            "cmn/wmi/src/wmi_unified_11be_api.c",
1540            "cmn/wmi/src/wmi_unified_11be_tlv.c",
1541            "components/umac/mlme/mlo_mgr/src/wlan_mlo_mgr_roam.c",
1542            "components/umac/mlme/mlo_mgr/src/wlan_t2lm_api.c",
1543            "components/umac/mlme/mlo_mgr/src/wlan_mlo_link_force.c",
1544        ],
1545    },
1546    "CONFIG_WLAN_FEATURE_ACTION_OUI": {
1547        True: [
1548            "components/action_oui/core/src/wlan_action_oui_main.c",
1549            "components/action_oui/core/src/wlan_action_oui_parse.c",
1550            "components/action_oui/dispatcher/src/wlan_action_oui_tgt_api.c",
1551            "components/action_oui/dispatcher/src/wlan_action_oui_ucfg_api.c",
1552            "components/target_if/action_oui/src/target_if_action_oui.c",
1553            "cmn/wmi/src/wmi_unified_action_oui_tlv.c",
1554        ],
1555    },
1556    "CONFIG_WLAN_FEATURE_BMI": {
1557        True: [
1558            "cmn/hif/src/ce/ce_bmi.c",
1559            "cmn/hif/src/sdio/hif_bmi_reg_access.c",
1560            "core/bmi/src/bmi.c",
1561            "core/bmi/src/bmi_1.c",
1562            "core/bmi/src/ol_fw.c",
1563            "core/bmi/src/ol_fw_common.c",
1564        ],
1565    },
1566    "CONFIG_WLAN_FEATURE_COAP": {
1567        True: [
1568            "components/coap/core/src/wlan_coap_main.c",
1569            "components/coap/dispatcher/src/wlan_coap_tgt_api.c",
1570            "components/coap/dispatcher/src/wlan_coap_ucfg_api.c",
1571            "components/target_if/coap/src/target_if_coap.c",
1572            "components/wmi/src/wmi_unified_coap_tlv.c",
1573            "core/hdd/src/wlan_hdd_coap.c",
1574            "os_if/coap/src/wlan_cfg80211_coap.c",
1575        ],
1576    },
1577    "CONFIG_WLAN_FEATURE_DFS_OFFLOAD": {
1578        True: [
1579            "cmn/target_if/dfs/src/target_if_dfs_full_offload.c",
1580        ],
1581        #TODO: need a separate flag, otherwise the below are added
1582        #      even when DFS is disabled
1583        False: [
1584            "cmn/target_if/dfs/src/target_if_dfs_partial_offload.c",
1585            "cmn/umac/dfs/core/src/filtering/dfs_bindetects.c",
1586            "cmn/umac/dfs/core/src/filtering/dfs_debug.c",
1587            "cmn/umac/dfs/core/src/filtering/dfs_fcc_bin5.c",
1588            "cmn/umac/dfs/core/src/filtering/dfs_init.c",
1589            "cmn/umac/dfs/core/src/filtering/dfs_misc.c",
1590            "cmn/umac/dfs/core/src/filtering/dfs_partial_offload_radar.c",
1591            "cmn/umac/dfs/core/src/filtering/dfs_phyerr_tlv.c",
1592            "cmn/umac/dfs/core/src/filtering/dfs_process_phyerr.c",
1593            "cmn/umac/dfs/core/src/filtering/dfs_process_radarevent.c",
1594            "cmn/umac/dfs/core/src/filtering/dfs_radar.c",
1595            "cmn/umac/dfs/core/src/filtering/dfs_staggered.c",
1596            "cmn/umac/dfs/core/src/misc/dfs_filter_init.c",
1597        ],
1598    },
1599    "CONFIG_WLAN_FEATURE_DISA": {
1600        True: [
1601            "components/disa/core/src/wlan_disa_main.c",
1602            "components/disa/dispatcher/src/wlan_disa_obj_mgmt_api.c",
1603            "components/disa/dispatcher/src/wlan_disa_tgt_api.c",
1604            "components/disa/dispatcher/src/wlan_disa_ucfg_api.c",
1605            "components/target_if/disa/src/target_if_disa.c",
1606            "core/hdd/src/wlan_hdd_disa.c",
1607        ],
1608    },
1609    "CONFIG_WLAN_FEATURE_DP_RX_THREADS": {
1610        True: [
1611            "components/dp/core/src/wlan_dp_rx_thread.c",
1612        ],
1613    },
1614    "CONFIG_WLAN_FEATURE_DSRC": {
1615        True: [
1616            "components/ocb/core/src/wlan_ocb_main.c",
1617            "components/ocb/dispatcher/src/wlan_ocb_tgt_api.c",
1618            "components/ocb/dispatcher/src/wlan_ocb_ucfg_api.c",
1619            "components/target_if/ocb/src/target_if_ocb.c",
1620            "core/hdd/src/wlan_hdd_ocb.c",
1621            "core/wma/src/wma_ocb.c",
1622            "cmn/wmi/src/wmi_unified_ocb_api.c",
1623            "cmn/wmi/src/wmi_unified_ocb_tlv.c",
1624        ],
1625    },
1626    "CONFIG_WLAN_FEATURE_FILS": {
1627        True: [
1628            "core/mac/src/pe/lim/lim_process_fils.c",
1629        ],
1630    },
1631    "CONFIG_WLAN_FEATURE_FIPS": {
1632        True: [
1633            "core/hdd/src/wlan_hdd_fips.c",
1634            "core/wma/src/wma_fips_api.c",
1635        ],
1636    },
1637    "CONFIG_WLAN_FEATURE_ICMP_OFFLOAD": {
1638        True: [
1639            "components/pmo/core/src/wlan_pmo_icmp.c",
1640            "components/pmo/dispatcher/src/wlan_pmo_tgt_icmp.c",
1641            "components/target_if/pmo/src/target_if_pmo_icmp.c",
1642        ],
1643    },
1644    "CONFIG_WLAN_FEATURE_LINK_LAYER_STATS": {
1645        True: [
1646            "core/hdd/src/wlan_hdd_debugfs_llstat.c",
1647        ],
1648    },
1649    "CONFIG_WLAN_FEATURE_LPSS": {
1650        True: [
1651            "core/hdd/src/wlan_hdd_lpass.c",
1652        ],
1653    },
1654    "CONFIG_WLAN_FEATURE_MCC_QUOTA": {
1655        True: [
1656            "components/p2p/core/src/wlan_p2p_mcc_quota.c",
1657            "components/p2p/dispatcher/src/wlan_p2p_mcc_quota_tgt_api.c",
1658            "components/target_if/p2p/src/target_if_p2p_mcc_quota.c",
1659            "core/hdd/src/wlan_hdd_mcc_quota.c",
1660        ],
1661    },
1662    "CONFIG_WLAN_FEATURE_MDNS_OFFLOAD": {
1663        True: [
1664            "core/hdd/src/wlan_hdd_mdns_offload.c",
1665        ],
1666    },
1667    "CONFIG_WLAN_FEATURE_MEDIUM_ASSESS": {
1668        True: [
1669            "core/hdd/src/wlan_hdd_medium_assess.c",
1670        ],
1671    },
1672    "CONFIG_WLAN_FEATURE_MIB_STATS": {
1673        True: [
1674            "core/hdd/src/wlan_hdd_debugfs_mibstat.c",
1675        ],
1676    },
1677    "CONFIG_WLAN_FEATURE_PACKET_FILTERING": {
1678        True: [
1679            "components/pmo/core/src/wlan_pmo_pkt_filter.c",
1680            "components/pmo/dispatcher/src/wlan_pmo_tgt_pkt_filter.c",
1681            "components/target_if/pmo/src/target_if_pmo_pkt_filter.c",
1682            "core/hdd/src/wlan_hdd_packet_filter.c",
1683        ],
1684    },
1685    "CONFIG_WLAN_FEATURE_PEER_TXQ_FLUSH_CONF": {
1686        True: [
1687            "core/hdd/src/wlan_hdd_peer_txq_flush.c",
1688        ],
1689    },
1690    "CONFIG_WLAN_FEATURE_PERIODIC_STA_STATS": {
1691        True: [
1692            "components/dp/core/src/wlan_dp_periodic_sta_stats.c",
1693        ],
1694    },
1695    "CONFIG_WLAN_FEATURE_PKT_CAPTURE": {
1696        True: [
1697            "components/pkt_capture/core/src/wlan_pkt_capture_data_txrx.c",
1698            "components/pkt_capture/core/src/wlan_pkt_capture_main.c",
1699            "components/pkt_capture/core/src/wlan_pkt_capture_mgmt_txrx.c",
1700            "components/pkt_capture/core/src/wlan_pkt_capture_mon_thread.c",
1701            "components/pkt_capture/dispatcher/src/wlan_pkt_capture_api.c",
1702            "components/pkt_capture/dispatcher/src/wlan_pkt_capture_tgt_api.c",
1703            "components/pkt_capture/dispatcher/src/wlan_pkt_capture_ucfg_api.c",
1704            "components/target_if/pkt_capture/src/target_if_pkt_capture.c",
1705            "os_if/pkt_capture/src/os_if_pkt_capture.c",
1706        ],
1707    },
1708    "CONFIG_WLAN_FEATURE_RX_BUFFER_POOL": {
1709        True: [
1710            "cmn/dp/wifi3.0/dp_rx_buffer_pool.c",
1711        ],
1712    },
1713    "CONFIG_WLAN_FEATURE_SR": {
1714        True: [
1715            "components/spatial_reuse/dispatcher/src/spatial_reuse_api.c",
1716            "components/spatial_reuse/dispatcher/src/spatial_reuse_ucfg_api.c",
1717            "cmn/target_if/spatial_reuse/src/target_if_spatial_reuse.c",
1718        ],
1719    },
1720    "CONFIG_WLAN_FEATURE_TWT": {
1721        True: [
1722            "cmn/os_if/linux/twt/src/osif_twt_req.c",
1723            "cmn/os_if/linux/twt/src/osif_twt_rsp.c",
1724            "cmn/target_if/twt/src/target_if_twt.c",
1725            "cmn/target_if/twt/src/target_if_twt_cmd.c",
1726            "cmn/target_if/twt/src/target_if_twt_evt.c",
1727            "cmn/umac/twt/core/src/wlan_twt_common.c",
1728            "cmn/umac/twt/core/src/wlan_twt_objmgr.c",
1729            "cmn/umac/twt/dispatcher/src/wlan_twt_api.c",
1730            "cmn/umac/twt/dispatcher/src/wlan_twt_tgt_if_rx_api.c",
1731            "cmn/umac/twt/dispatcher/src/wlan_twt_tgt_if_tx_api.c",
1732            "cmn/umac/twt/dispatcher/src/wlan_twt_ucfg_api.c",
1733            "cmn/wmi/src/wmi_unified_twt_api.c",
1734            "cmn/wmi/src/wmi_unified_twt_tlv.c",
1735            "components/target_if/twt/src/target_if_ext_twt_cmd.c",
1736            "components/target_if/twt/src/target_if_ext_twt_evt.c",
1737            "components/umac/twt/core/src/wlan_twt_cfg.c",
1738            "components/umac/twt/core/src/wlan_twt_main.c",
1739            "components/umac/twt/dispatcher/src/wlan_twt_cfg_ext_api.c",
1740            "components/umac/twt/dispatcher/src/wlan_twt_tgt_if_ext_rx_api.c",
1741            "components/umac/twt/dispatcher/src/wlan_twt_tgt_if_ext_tx_api.c",
1742            "components/umac/twt/dispatcher/src/wlan_twt_ucfg_ext_api.c",
1743            "core/hdd/src/wlan_hdd_twt.c",
1744            "os_if/twt/src/osif_twt_ext_req.c",
1745            "os_if/twt/src/osif_twt_ext_rsp.c",
1746            "os_if/twt/src/osif_twt_ext_util.c",
1747            # TODO: rest being removed by David's TWT change
1748            #            "components/mlme/core/src/wlan_mlme_twt_api.c",
1749            # TODO: to be removed by David's TWT change
1750            "components/mlme/dispatcher/src/wlan_mlme_twt_ucfg_api.c",
1751            "core/wma/src/wma_twt.c",
1752        ],
1753    },
1754    "CONFIG_WLAN_FREQ_LIST": {
1755        True: [
1756            "core/hdd/src/wlan_hdd_sysfs_get_freq_for_pwr.c",
1757        ],
1758    },
1759    "CONFIG_WLAN_FW_OFFLOAD": {
1760        True: [
1761            "components/fw_offload/core/src/wlan_fw_offload_main.c",
1762            "components/fw_offload/dispatcher/src/wlan_fwol_tgt_api.c",
1763            "components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c",
1764            "components/target_if/fw_offload/src/target_if_fwol.c",
1765            "os_if/fw_offload/src/os_if_fwol.c",
1766            "cmn/wmi/src/wmi_unified_fwol_api.c",
1767            "cmn/wmi/src/wmi_unified_fwol_tlv.c",
1768        ],
1769    },
1770    "CONFIG_WLAN_GTX_BW_MASK": {
1771        True: [
1772            "core/hdd/src/wlan_hdd_sysfs_gtx_bw_mask.c",
1773        ],
1774    },
1775    "CONFIG_WLAN_HANG_EVENT": {
1776        True: [
1777            "core/hdd/src/wlan_hdd_hang_event.c",
1778            "cmn/htc/htc_hang_event.c",
1779            "cmn/qdf/src/qdf_hang_event_notifier.c",
1780            "cmn/qdf/src/qdf_notifier.c",
1781            "cmn/wmi/src/wmi_hang_event.c",
1782        ],
1783    },
1784    "CONFIG_WLAN_LRO": {
1785        True: [
1786            "cmn/qdf/linux/src/qdf_lro.c",
1787            "os_if/dp/src/os_if_dp_lro.c",
1788        ],
1789    },
1790    "CONFIG_WLAN_MWS_INFO_DEBUGFS": {
1791        True: [
1792            "core/hdd/src/wlan_hdd_debugfs_coex.c",
1793            "core/wma/src/wma_coex.c",
1794        ],
1795    },
1796    "CONFIG_WLAN_NAPI": {
1797        True: [
1798            "core/hdd/src/wlan_hdd_napi.c",
1799            "cmn/hif/src/hif_irq_affinity.c",
1800            "cmn/hif/src/hif_napi.c",
1801        ],
1802    },
1803    "CONFIG_WLAN_NS_OFFLOAD": {
1804        True: [
1805            "components/pmo/core/src/wlan_pmo_ns.c",
1806            "components/pmo/dispatcher/src/wlan_pmo_tgt_ns.c",
1807            "components/target_if/pmo/src/target_if_pmo_ns.c",
1808        ],
1809    },
1810    "CONFIG_WLAN_NUD_TRACKING": {
1811        True: [
1812            "core/hdd/src/wlan_hdd_nud_tracking.c",
1813            "components/dp/core/src/wlan_dp_nud_tracking.c",
1814        ],
1815    },
1816    "CONFIG_WLAN_OBJMGR_DEBUG": {
1817        True: [
1818            "cmn/umac/cmn_services/obj_mgr/src/wlan_objmgr_debug.c",
1819        ],
1820    },
1821    "CONFIG_WLAN_REASSOC": {
1822        True: [
1823            "core/hdd/src/wlan_hdd_sysfs_reassoc.c",
1824        ],
1825    },
1826    "CONFIG_WLAN_SCAN_DISABLE": {
1827        True: [
1828            "core/hdd/src/wlan_hdd_sysfs_scan_disable.c",
1829        ],
1830    },
1831    "CONFIG_WLAN_STREAMFS": {
1832        True: [
1833            "cmn/qdf/linux/src/qdf_streamfs.c",
1834        ],
1835    },
1836    "CONFIG_WLAN_SYNC_TSF": {
1837        True: [
1838            "core/hdd/src/wlan_hdd_tsf.c",
1839        ],
1840    },
1841    "CONFIG_WLAN_SYSFS": {
1842        True: [
1843            "core/hdd/src/wlan_hdd_sysfs.c",
1844            "core/hdd/src/wlan_hdd_sysfs_unit_test.c",
1845            "core/hdd/src/wlan_hdd_sysfs_modify_acl.c",
1846            "core/hdd/src/wlan_hdd_sysfs_policy_mgr.c",
1847            "core/hdd/src/wlan_hdd_sysfs_dp_aggregation.c",
1848        ],
1849    },
1850    "CONFIG_WLAN_SYSFS_CHANNEL": {
1851        True: [
1852            "core/hdd/src/wlan_hdd_sysfs_channel.c",
1853        ],
1854    },
1855    "CONFIG_WLAN_SYSFS_CONNECT_INFO": {
1856        True: [
1857            "core/hdd/src/wlan_hdd_sysfs_connect_info.c",
1858        ],
1859    },
1860    "CONFIG_WLAN_SYSFS_DCM": {
1861        True: [
1862            "core/hdd/src/wlan_hdd_sysfs_dcm.c",
1863        ],
1864    },
1865    "CONFIG_WLAN_SYSFS_DFSNOL": {
1866        True: [
1867            "core/hdd/src/wlan_hdd_sysfs_dfsnol.c",
1868        ],
1869    },
1870    "CONFIG_WLAN_SYSFS_WDS_MODE": {
1871        True: [
1872            "core/hdd/src/wlan_hdd_sysfs_wds_mode.c",
1873        ],
1874    },
1875    "CONFIG_WLAN_SYSFS_ROAM_TRIGGER_BITMAP": {
1876        True: [
1877            "core/hdd/src/wlan_hdd_sysfs_roam_trigger_bitmap.c",
1878        ],
1879    },
1880    "CONFIG_WLAN_SYSFS_DP_STATS": {
1881        True: [
1882            "core/hdd/src/wlan_hdd_sysfs_txrx_stats_console.c",
1883        ],
1884    },
1885    "CONFIG_WLAN_SYSFS_DP_TRACE": {
1886        True: [
1887            "core/hdd/src/wlan_hdd_sysfs_dp_trace.c",
1888        ],
1889    },
1890    "CONFIG_WLAN_SYSFS_EHT_RATE": {
1891        True: [
1892            "core/hdd/src/wlan_hdd_sysfs_eht_rate.c",
1893        ],
1894    },
1895    "CONFIG_WLAN_SYSFS_FW_MODE_CFG": {
1896        True: [
1897            "core/hdd/src/wlan_hdd_sysfs_fw_mode_config.c",
1898        ],
1899    },
1900    "CONFIG_WLAN_SYSFS_HE_BSS_COLOR": {
1901        True: [
1902            "core/hdd/src/wlan_hdd_sysfs_he_bss_color.c",
1903        ],
1904    },
1905    "CONFIG_WLAN_SYSFS_LOG_BUFFER": {
1906        True: [
1907            "core/hdd/src/wlan_hdd_sysfs_log_buffer.c",
1908        ],
1909    },
1910    "CONFIG_WLAN_SYSFS_MEM_STATS": {
1911        True: [
1912            "core/hdd/src/wlan_hdd_sysfs_mem_stats.c",
1913        ],
1914    },
1915    "CONFIG_WLAN_SYSFS_MONITOR_MODE_CHANNEL": {
1916        True: [
1917            "core/hdd/src/wlan_hdd_sysfs_monitor_mode_channel.c",
1918        ],
1919    },
1920    "CONFIG_WLAN_SYSFS_RADAR": {
1921        True: [
1922            "core/hdd/src/wlan_hdd_sysfs_radar.c",
1923        ],
1924    },
1925    "CONFIG_WLAN_SYSFS_RANGE_EXT": {
1926        True: [
1927            "core/hdd/src/wlan_hdd_sysfs_range_ext.c",
1928        ],
1929    },
1930    "CONFIG_WLAN_SYSFS_RTS_CTS": {
1931        True: [
1932            "core/hdd/src/wlan_hdd_sysfs_rts_cts.c",
1933        ],
1934    },
1935    "CONFIG_WLAN_SYSFS_SCAN_CFG": {
1936        True: [
1937            "core/hdd/src/wlan_hdd_sysfs_scan_config.c",
1938        ],
1939    },
1940    "CONFIG_WLAN_SYSFS_STATS": {
1941        True: [
1942            "core/hdd/src/wlan_hdd_sysfs_stats.c",
1943        ],
1944    },
1945    "CONFIG_WLAN_SYSFS_STA_INFO": {
1946        True: [
1947            "core/hdd/src/wlan_hdd_sysfs_sta_info.c",
1948        ],
1949    },
1950    "CONFIG_WLAN_SYSFS_TDLS_PEERS": {
1951        True: [
1952            "core/hdd/src/wlan_hdd_sysfs_tdls_peers.c",
1953        ],
1954    },
1955    "CONFIG_WLAN_SYSFS_TEMPERATURE": {
1956        True: [
1957            "core/hdd/src/wlan_hdd_sysfs_temperature.c",
1958        ],
1959    },
1960    "CONFIG_WLAN_SYSFS_TX_STBC": {
1961        True: [
1962            "core/hdd/src/wlan_hdd_sysfs_tx_stbc.c",
1963        ],
1964    },
1965    "CONFIG_WLAN_SYSFS_WLAN_DBG": {
1966        True: [
1967            "core/hdd/src/wlan_hdd_sysfs_wlan_dbg.c",
1968        ],
1969    },
1970    "CONFIG_WLAN_THERMAL_CFG": {
1971        True: [
1972            "core/hdd/src/wlan_hdd_sysfs_thermal_cfg.c",
1973        ],
1974    },
1975    "CONFIG_WLAN_SYSFS_BITRATES": {
1976        True: [
1977            "core/hdd/src/wlan_hdd_sysfs_bitrates.c",
1978        ],
1979    },
1980    "CONFIG_WLAN_TRACEPOINTS": {
1981        True: [
1982            "cmn/qdf/linux/src/qdf_tracepoint.c",
1983        ],
1984    },
1985    "CONFIG_WLAN_TXRX_FW_STATS": {
1986        True: [
1987            "core/hdd/src/wlan_hdd_sysfs_txrx_fw_stats.c",
1988        ],
1989    },
1990    "CONFIG_WLAN_TXRX_FW_ST_RST": {
1991        True: [
1992            "core/hdd/src/wlan_hdd_sysfs_txrx_fw_st_rst.c",
1993        ],
1994    },
1995    "CONFIG_WLAN_TXRX_STATS": {
1996        True: [
1997            "core/hdd/src/wlan_hdd_sysfs_txrx_stats.c",
1998        ],
1999    },
2000    "LEGACY_CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY": {
2001        True: [
2002            "core/dp/txrx/ol_txrx_legacy_flow_control.c",
2003        ],
2004    },
2005    "CONFIG_WLAN_TX_FLOW_CONTROL_V2": {
2006        True: [
2007            "cmn/dp/wifi3.0/dp_tx_flow_control.c",
2008        ],
2009    },
2010    "CONFIG_WLAN_WBUFF": {
2011        True: [
2012            "cmn/wbuff/src/wbuff.c",
2013        ],
2014    },
2015    "CONFIG_WLAN_WEXT_SUPPORT_ENABLE": {
2016        True: [
2017            "core/hdd/src/wlan_hdd_hostapd_wext.c",
2018            "core/hdd/src/wlan_hdd_wext.c",
2019        ],
2020    },
2021    "CONFIG_WLAN_WOWL_ADD_PTRN": {
2022        True: [
2023            "core/hdd/src/wlan_hdd_sysfs_wowl_add_ptrn.c",
2024        ],
2025    },
2026    "CONFIG_WLAN_WOWL_DEL_PTRN": {
2027        True: [
2028            "core/hdd/src/wlan_hdd_sysfs_wowl_del_ptrn.c",
2029        ],
2030    },
2031    "CONFIG_WLAN_WOW_ITO": {
2032        True: [
2033            "core/hdd/src/wlan_hdd_sysfs_wow_ito.c",
2034        ],
2035    },
2036    "CONFIG_WMI_BCN_OFFLOAD": {
2037        True: [
2038            "cmn/wmi/src/wmi_unified_bcn_api.c",
2039            "cmn/wmi/src/wmi_unified_bcn_tlv.c",
2040        ],
2041    },
2042    "CONFIG_WMI_CONCURRENCY_SUPPORT": {
2043        True: [
2044            "cmn/wmi/src/wmi_unified_concurrency_api.c",
2045            "cmn/wmi/src/wmi_unified_concurrency_tlv.c",
2046        ],
2047    },
2048    "CONFIG_WMI_ROAM_SUPPORT": {
2049        True: [
2050            "components/wmi/src/wmi_unified_roam_api.c",
2051            "components/wmi/src/wmi_unified_roam_tlv.c",
2052        ],
2053    },
2054    "CONFIG_WMI_STA_SUPPORT": {
2055        True: [
2056            "cmn/wmi/src/wmi_unified_sta_api.c",
2057            "cmn/wmi/src/wmi_unified_sta_tlv.c",
2058        ],
2059    },
2060    "CONFIG_AFC_SUPPORT": {
2061        True: [
2062            "core/hdd/src/wlan_hdd_afc.c",
2063        ],
2064    },
2065    "CONFIG_WLAN_FEATURE_LL_LT_SAP": {
2066        True: [
2067            "components/umac/mlme/sap/ll_sap/dispatcher/src/wlan_ll_sap_ucfg_api.c",
2068            "components/umac/mlme/sap/ll_sap/core/src/wlan_ll_lt_sap_main.c",
2069            "components/umac/mlme/sap/ll_sap/core/src/wlan_ll_sap_main.c",
2070        ],
2071    },
2072}
2073
2074def _define_module_for_target_variant_chipset(target, variant, chipset):
2075    tvc = "{}_{}_{}".format(target, variant, chipset)
2076    tv = "{}_{}".format(target, variant)
2077    name = "{}_qca_cld_{}".format(tv, chipset)
2078    hw = _chipset_hw_map[chipset]
2079    chipset_ipaths = _chipset_header_map[chipset]
2080    hw_ipaths = _hw_header_map[hw]
2081
2082    ipaths = chipset_ipaths + hw_ipaths + _fixed_ipaths
2083
2084    iglobs = []
2085    for i in _fixed_includes:
2086        iglobs.append(i)
2087    for i in ipaths:
2088        iglobs.append("{}/*.h".format(i))
2089        iglobs.append("{}/**/*.h".format(i))
2090    for i in _private_ipaths:
2091        iglobs.append("{}/*.h".format(i))
2092        iglobs.append("{}/**/*.h".format(i))
2093    copts = []
2094    for i in _fixed_includes:
2095        copts.append("-include")
2096        copts.append(i)
2097
2098    feature_grep_map = [
2099        {
2100            "pattern": "walt_get_cpus_taken",
2101            "file": "kernel/sched/walt/walt.c",
2102            "flag": "WALT_GET_CPU_TAKEN_SUPPORT",
2103        },
2104        {
2105            "pattern": "nl80211_validate_key_link_id",
2106            "file": "net/wireless/nl80211.c",
2107            "flag": "CFG80211_MLO_KEY_OPERATION_SUPPORT",
2108        },
2109        {
2110            "pattern": "struct link_station_parameters",
2111            "file": "include/net/cfg80211.h",
2112            "flag": "CFG80211_LINK_STA_PARAMS_PRESENT",
2113        },
2114        {
2115            "pattern": "NL80211_EXT_FEATURE_PUNCT",
2116            "file": "include/uapi/linux/nl80211.h",
2117            "flag": "NL80211_EXT_FEATURE_PUNCT_SUPPORT",
2118        },
2119        {
2120            "pattern": "unsigned int link_id, u16 punct_bitmap",
2121            "file": "include/net/cfg80211.h",
2122            "flag": "CFG80211_RU_PUNCT_NOTIFY",
2123        },
2124        {
2125            "pattern": "NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA",
2126            "file": "include/uapi/linux/nl80211.h",
2127            "flag": "CFG80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA",
2128        },
2129    ]
2130
2131    cmd = 'touch "$@"\n'
2132    for feature_grep in feature_grep_map:
2133        cmd += """
2134          if grep -qF "{pattern}" $(location //msm-kernel:{file}); then
2135            echo "#define {flag} (1)" >> "$@"
2136          fi
2137        """.format(
2138            pattern = feature_grep["pattern"],
2139            file = feature_grep["file"],
2140            flag = feature_grep["flag"],
2141        )
2142
2143    grepSrcFiles = []
2144    for e in feature_grep_map:
2145        grepSrcFiles.append("//msm-kernel:{}".format(e["file"]))
2146
2147    depsetSrc = depset(grepSrcFiles)
2148    native.genrule(
2149        name = "{}_grep_defines".format(tvc),
2150        outs = ["configs/grep_defines_{}.h".format(tvc)],
2151        srcs = depsetSrc.to_list(),
2152        cmd = cmd,
2153    )
2154
2155    copts.append("-include")
2156    copts.append("$(location :{}_grep_defines)".format(tvc))
2157
2158    native.genrule(
2159        name = "configs/{}_defconfig_generate_consolidate".format(tvc),
2160        outs = ["configs/{}_defconfig.generated_consolidate".format(tvc)],
2161        srcs = [
2162            "configs/{}_gki_{}_defconfig".format(target, chipset),
2163            "configs/{}_consolidate_{}_defconfig".format(target, chipset),
2164        ],
2165        cmd = "cat $(SRCS) > $@",
2166    )
2167    native.genrule(
2168        name = "configs/{}_defconfig_generate_gki".format(tvc),
2169        outs = ["configs/{}_defconfig.generated_gki".format(tvc)],
2170        srcs = [
2171            "configs/{}_gki_{}_defconfig".format(target, chipset),
2172        ],
2173        cmd = "cat $(SRCS) > $@",
2174    )
2175
2176    srcs = native.glob(iglobs) + _fixed_srcs
2177
2178    out = "qca_cld3_{}.ko".format(chipset.replace("-", "_"))
2179    kconfig = "Kconfig"
2180    defconfig = ":configs/{}_defconfig_generate_{}".format(tvc, variant)
2181
2182    print("name=", name)
2183    print("hw=", hw)
2184    print("ipaths=", ipaths)
2185    print("srcs=", srcs)
2186    print("out=", out)
2187    print("iglobs=", iglobs)
2188    print("copts=", copts)
2189    print("kconfig=", kconfig)
2190    print("defconfig=", defconfig)
2191
2192    ddk_module(
2193        name = name,
2194        srcs = srcs + [":{}_grep_defines".format(tvc)],
2195        includes = ipaths + ["."],
2196        kconfig = kconfig,
2197        defconfig = defconfig,
2198        conditional_srcs = _conditional_srcs,
2199        copts = copts,
2200        out = out,
2201        kernel_build = "//msm-kernel:{}".format(tv),
2202        deps = [
2203            "//vendor/qcom/opensource/wlan/platform:{}_cnss2".format(tv),
2204            "//vendor/qcom/opensource/wlan/platform:{}_cnss_prealloc".format(tv),
2205            "//vendor/qcom/opensource/wlan/platform:{}_cnss_utils".format(tv),
2206            "//vendor/qcom/opensource/wlan/platform:{}_cnss_nl".format(tv),
2207            "//msm-kernel:all_headers",
2208            "//vendor/qcom/opensource/wlan/platform:wlan-platform-headers",
2209            "//vendor/qcom/opensource/dataipa:include_headers",
2210            "//vendor/qcom/opensource/dataipa:{}_{}_ipam".format(target, variant),
2211        ],
2212    )
2213
2214    copy_to_dist_dir(
2215        name = "{}_modules_dist".format(tvc),
2216        data = [":{}".format(name)],
2217        dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target),
2218        flat = True,
2219        wipe_dist_dir = False,
2220        allow_duplicate_filenames = False,
2221        mode_overrides = {"**/*": "644"},
2222        log = "info",
2223    )
2224
2225def define_modules():
2226    for (t, v) in get_all_variants():
2227        chipsets = _target_chipset_map.get(t)
2228        if chipsets:
2229            for c in chipsets:
2230                _define_module_for_target_variant_chipset(t, v, c)
2231