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