raiden00pl opened a new pull request, #19136: URL: https://github.com/apache/nuttx/pull/19136
## Summary Unify all Kconfig options for STM32 ports and use standard `CONFIG_STM32_*` for all families. All common STM32 Kconfig options are placed in `arch/arm/src/common/stm32` which is consistent with other architectures that use a common directory approach in arch: https://github.com/apache/nuttx/tree/master/arch/risc-v/src/common/espressif Other places I considered for common STM32 options and sources are `arch/arm/src/st/` or `arch/arm/src/stm32`, but this can be changed later since it will be simple `git mv` operation so it won't have much impact on the user. From now on, all families simply use `CONFIG_STM32_*` and this rule will be included in the STM32 porting guide. Family specific options are still possible (if we ever need to use them) and should go to family specific Kconfig. This PR also organizes Kconfig options for STM32 into smaller files that are easier to view and maintain. No longer huge Kconfig file with all options. At this moment, many options have complicated conditions for "depends on" and "select", this is a result of inconsistency between ports, and will be gradually cleaned up in the future. Some helper options will also be removed or generalized later. However, this requires careful human analysis and cannot be automated. I'll take it step by step later. This is the final step in normalization of STM32 ports, after this PR all Kconfig options has the same format and API is unified. With this change we will be able to use the same arch and boards code between families. Reference: https://github.com/apache/nuttx/pull/19004 ## Impact BREAKING CHANGE: all not standard STM32 Kconfig options must be changed to normalized form: `CONFIG_STM32F0L0G0_` -> `CONFIG_STM32_` `CONFIG_STM32F7_` -> `CONFIG_STM32_` `CONFIG_STM32L4_` -> `CONFIG_STM32_` `CONFIG_STM32L5_` -> `CONFIG_STM32_` `CONFIG_STM32U5_` -> `CONFIG_STM32_` `CONFIG_STM32H5_` -> `CONFIG_STM32_` `CONFIG_STM32H7_` -> `CONFIG_STM32_` `CONFIG_STM32H7_` -> `CONFIG_STM32_` `CONFIG_STM32WB_` -> `CONFIG_STM32_` `CONFIG_STM32WL5_` -> `CONFIG_STM32_` `CONFIG_STM32N6_` -> `CONFIG_STM32_` `CONFIG_ARCH_BOARD_STM32F0L0G0_CUSTOM_CLOCKCONFIG` -> `CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG` `CONFIG_ARCH_BOARD_STM32H5_CUSTOM_CLOCKCONFIG` -> `CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG` `CONFIG_ARCH_BOARD_STM32L4_CUSTOM_CLOCKCONFIG` -> `CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG` ## Testing CI -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
