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