fix(esp_coex): move coex init from esp_system to esp_coex component

CMakev2's DEFERRED mode for idf_component_optional_requires only links
optional components already present in the dependency graph. This caused
esp_coex headers to be unavailable when building minimal examples on
targets with both WiFi and IEEE802154 (e.g. esp32c5, esp32c6).

Moving init_coexist to esp_coex removes the cross-component dependency
and ensures the init function is only compiled when esp_coex itself is
part of the build. A linker hook is added to guarantee the object file
is not silently discarded by the linker.

Made-with: Cursor
This commit is contained in:
Marius Vikhammer
2026-03-10 10:31:19 +08:00
parent c2768cf849
commit e4bc0e9554
5 changed files with 19 additions and 20 deletions
+1 -1
View File
@@ -118,7 +118,7 @@ SECONDARY: 151: nvs_sec_provider_register_hmac_scheme in components/nvs_sec_prov
SECONDARY: 201: init_pm in components/esp_system/startup_funcs.c on BIT(0)
SECONDARY: 202: init_pm_flash_freq_limit in components/esp_pm/pm_c5_flash_freq_limit.c on BIT(0)
SECONDARY: 203: init_apb_dma in components/esp_system/startup_funcs.c on BIT(0)
SECONDARY: 204: init_coexist in components/esp_system/startup_funcs.c on BIT(0)
SECONDARY: 204: init_coexist in components/esp_coex/src/coexist.c on BIT(0)
SECONDARY: 205: init_bootloader_offset in components/esp_system/startup_funcs.c on BIT(0)
# usb_console needs to create an esp_timer at startup.