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