Repository navigation
Init: move to Zephyr native - #6989
Merged
Merged
Conversation
Zephyr has an elaborate subsystem initialisation framework. Use it for primary_core_init() instead of calling it from main(). This prepares for a migration of module initialisation to that framework too. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This macro integrates SOF modules into Zephyr initialisation framework. SOF module initialisation functions use DECLARE_MODULE_ADAPTER() or DECLARE_MODULE() to register with the SOF native initialisation scheme, now the same initialisation functions can be used with the new SOF_MODULE_INIT() macro to integrate them into the Zephyr initialisation flow. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register volume with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register mixer, mixin and mixout with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register dai with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register src with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register chain-dma with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register selector with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register switch with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register tone with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register eq-fir with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register eq-iir with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register keyword with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register host with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register kpb with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register smart-amp with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register asrc with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register dcblock with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register mux with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register basefw with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register copier with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register cadence with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register passthrough with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register aria with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register crossover with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register drc with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register multiband-drc with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register google-rtc with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register igo-nr with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register rtnr with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register up-down-mixer with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register tdfb with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register google-hotword with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register dts with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register waves with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use SOF_MODULE_INIT() to register probe with the Zephyr initialisation framework. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
All SOF modules are now initialised using native Zephyr APIs, no need any more in a dedicated ELF section. TODO: remove from linker scripts once this is merged. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
lyakh
marked this pull request as ready for review
January 25, 2023 15:33
lyakh
requested review from
a team,
abonislawski,
akloniex,
dbaluta,
lbetlej,
lgirdwood,
mmaka1,
plbossart and
singalsu
as code owners
January 25, 2023 15:33
Collaborator
Author
|
@kv2019i @lgirdwood would be good to merge this ASAP to avoid merge conflicts. BTW even zephyrproject-rtos/zephyr#51217 won't be a big problem for this - we'd only need to change a single header when that's merged |
iuliana-prodan
approved these changes
Jan 26, 2023
kv2019i
approved these changes
Jan 26, 2023
kv2019i
left a comment
Collaborator
There was a problem hiding this comment.
Looks very nice, a good cleanup in the wrapper.
| void sys_comp_module_mixer_interface_init(void); | ||
| #else | ||
| void sys_comp_module_mixout_interface_init(void); | ||
| #endif |
Collaborator
There was a problem hiding this comment.
It's nice to get reid of these ifdefs!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remove hard-coded module initialisation from
task_main_start()and use the native Zephyr initialisation framework.Note: Not all modules converted yet