diff --git a/.murdock b/.murdock index a338e1e10c..8fa9030d73 100755 --- a/.murdock +++ b/.murdock @@ -456,15 +456,23 @@ compile() { if get_supported_kconfig_board_app "${board}" "${appdir}"; then should_check_kconfig_hash=1 - BOARD=${board} make -C${appdir} clean - CCACHE_BASEDIR="$(pwd)" BOARD=${board} TOOLCHAIN=${toolchain} RIOT_CI_BUILD=1 TEST_KCONFIG=1 \ - make -C${appdir} all test-input-hash -j${JOBS:-4} - RES=$? - if [ $RES -eq 0 ]; then - kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)" - else - kconfig_hashes="kconfig-build-failed" - echo "An error occurred while compiling using Kconfig"; + # As we have some issues with occasional unrelated hash mismatches + # we will stop the binary checks and rely only in a module/package + # check to ensure kconfig is matching make. + # Only nightlies will check the hash... + # Once we figure out the problem we can check the hashes again or + # better yet just finish! + if [ ${NIGHTLY} -eq 1 ]; then + BOARD=${board} make -C${appdir} clean + CCACHE_BASEDIR="$(pwd)" BOARD=${board} TOOLCHAIN=${toolchain} RIOT_CI_BUILD=1 TEST_KCONFIG=1 \ + make -C${appdir} all test-input-hash -j${JOBS:-4} + RES=$? + if [ $RES -eq 0 ]; then + kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)" + else + kconfig_hashes="kconfig-build-failed" + echo "An error occurred while compiling using Kconfig"; + fi fi fi @@ -474,22 +482,29 @@ compile() { make -C${appdir} all test-input-hash -j${JOBS:-4} RES=$? - no_kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)" + if [ ${NIGHTLY} -eq 1 ]; then + no_kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)" + fi # test hash is used to cache test results, not for comparing binaries # generated with and without KConfig test_hash=$(test_hash_calc "$BINDIR") if [ ${should_check_kconfig_hash} != 0 ]; then - if [ "${kconfig_hashes}" != "${no_kconfig_hashes}" ]; then - echo "Hashes of binaries with and without Kconfig mismatch for ${appdir} with ${board}"; - echo "Please check that all used modules are modelled in Kconfig and enabled"; - echo "Input without KConfig:" - echo "${no_kconfig_hashes}" - echo "Input with KConfig:" - echo "${kconfig_hashes}" + if [ ${NIGHTLY} -eq 1 ]; then + if [ "${kconfig_hashes}" != "${no_kconfig_hashes}" ]; then + echo "Hashes of binaries with and without Kconfig mismatch for ${appdir} with ${board}"; + echo "Please check that all used modules are modelled in Kconfig and enabled"; + echo "Input without KConfig:" + echo "${no_kconfig_hashes}" + echo "Input with KConfig:" + echo "${kconfig_hashes}" + kconfig_module_packages_diff ${board} ${appdir} + RES=1 + fi + else kconfig_module_packages_diff ${board} ${appdir} - RES=1 + RES=$(( $RES | $? )) fi fi diff --git a/Makefile.include b/Makefile.include index eb62097a50..d203281f84 100644 --- a/Makefile.include +++ b/Makefile.include @@ -484,11 +484,13 @@ endif # Check if programmer is supported by the board, only if PROGRAMMERS_SUPPORTED # is set and if programmer is not iotlab -ifneq (iotlab,$(PROGRAMMER)) - ifneq (,$(PROGRAMMERS_SUPPORTED)) - ifeq (,$(filter $(PROGRAMMER),$(PROGRAMMERS_SUPPORTED))) - $(info '$(PROGRAMMER)' programmer is not supported by this board. \ - Supported programmers: '$(PROGRAMMERS_SUPPORTED)') +ifneq ($(RIOT_CI_BUILD),1) + ifneq (iotlab,$(PROGRAMMER)) + ifneq (,$(PROGRAMMERS_SUPPORTED)) + ifeq (,$(filter $(PROGRAMMER),$(PROGRAMMERS_SUPPORTED))) + $(info '$(PROGRAMMER)' programmer is not supported by this board. \ + Supported programmers: '$(PROGRAMMERS_SUPPORTED)') + endif endif endif endif @@ -526,7 +528,6 @@ ifeq ($(RIOT_CI_BUILD),1) # set a dummy version number RIOT_VERSION_CODE ?= $(RIOT_VERSION_DUMMY_CODE) ifneq ($(filter $(BOARD_INSUFFICIENT_MEMORY), $(BOARD)),) - $(info CI-build: skipping link step) RIOTNOLINK:=1 endif # be more quiet when building for CI diff --git a/boards/avr-rss2/Kconfig b/boards/avr-rss2/Kconfig index 2923288f2d..0f282b886d 100644 --- a/boards/avr-rss2/Kconfig +++ b/boards/avr-rss2/Kconfig @@ -24,6 +24,7 @@ config BOARD_AVR_RSS2 select HAVE_SAUL_GPIO select HAVE_BME280_I2C select HAVE_AT24MAC + select HAVE_MTD_AT24CXXX source "$(RIOTBOARD)/common/atmega/Kconfig" diff --git a/boards/same54-xpro/Kconfig b/boards/same54-xpro/Kconfig index fcd1cabab3..06a9a1d64b 100644 --- a/boards/same54-xpro/Kconfig +++ b/boards/same54-xpro/Kconfig @@ -29,6 +29,7 @@ config BOARD_SAME54_XPRO select HAVE_AT24MAC select HAVE_SAM0_ETH select HAVE_SAM0_SDHC + select HAVE_MTD_AT24CXXX # This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR diff --git a/cpu/efm32/periph/Kconfig b/cpu/efm32/periph/Kconfig index 5f8217d5fe..afb807b287 100644 --- a/cpu/efm32/periph/Kconfig +++ b/cpu/efm32/periph/Kconfig @@ -8,49 +8,3 @@ config MODULE_PERIPH bool default y - -if MODULE_PERIPH - -config MODULE_PERIPH_WDT_SERIES0 - bool - depends on CPU_EFM32_SERIES0 - default MODULE_PERIPH_WDT - help - WDT driver implementation for EFM32 series 0. - -config MODULE_PERIPH_WDT_SERIES1 - bool - depends on CPU_EFM32_SERIES1 - default MODULE_PERIPH_WDT - help - WDT driver implementation for EFM32 series 1. - -config MODULE_PERIPH_RTC_SERIES0 - bool - depends on CPU_EFM32_SERIES0 - default MODULE_PERIPH_RTC - help - RTC driver implementation for EFM32 series 0. - -config MODULE_PERIPH_RTC_SERIES1 - bool - depends on CPU_EFM32_SERIES1 - default MODULE_PERIPH_RTC - help - RTC driver implementation for EFM32 series 1. - -config PERIPH_RTT_SERIES0 - bool - depends on CPU_EFM32_SERIES0 - default MODULE_PERIPH_RTT - help - RTT driver implementation for EFM32 series 0. - -config PERIPH_RTT_SERIES1 - bool - depends on CPU_EFM32_SERIES1 - default MODULE_PERIPH_RTT - help - RTT driver implementation for EFM32 series 1. - -endif # MODULE_PERIPH diff --git a/cpu/stm32/periph/Kconfig.eth b/cpu/stm32/periph/Kconfig.eth index 322725f31d..cbdfe85555 100644 --- a/cpu/stm32/periph/Kconfig.eth +++ b/cpu/stm32/periph/Kconfig.eth @@ -40,7 +40,7 @@ endif # MODULE_STM32_ETH config MODULE_PERIPH_ETH bool depends on HAS_PERIPH_ETH - select MODULE_PERIPH_ETH_COMMON + select MODULE_PERIPH_ETH_COMMON if CPU_STM32 config MODULE_PERIPH_ETH_COMMON bool diff --git a/drivers/at24cxxx/Kconfig b/drivers/at24cxxx/Kconfig index 9b62401da0..9a7479bd28 100644 --- a/drivers/at24cxxx/Kconfig +++ b/drivers/at24cxxx/Kconfig @@ -63,6 +63,5 @@ config MODULE_AT24CXXX bool depends on HAS_PERIPH_I2C depends on TEST_KCONFIG - select HAVE_MTD_AT24CXXX select MODULE_PERIPH_I2C select MODULE_XTIMER diff --git a/drivers/at25xxx/Kconfig b/drivers/at25xxx/Kconfig index bae51c68d0..008a973078 100644 --- a/drivers/at25xxx/Kconfig +++ b/drivers/at25xxx/Kconfig @@ -9,7 +9,6 @@ config MODULE_AT25XXX bool "AT25xxx SPI-EEPROMs" depends on HAS_PERIPH_SPI depends on TEST_KCONFIG - select HAVE_MTD_AT25XXX select MODULE_PERIPH_SPI select MODULE_XTIMER help diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index 4cd4689897..b12543d9be 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -7,14 +7,12 @@ config HAVE_MTD_AT24CXXX bool - depends on MODULE_AT24CXXX imply MODULE_MTD_AT24CXXX if MODULE_MTD help Indicates that a at24cxxx EEPROM MTD is present config HAVE_MTD_AT25XXX bool - depends on MODULE_AT25XXX imply MODULE_MTD_AT25XXX if MODULE_MTD help Indicates that a at25xxx SPI-EEPROM MTD is present diff --git a/drivers/periph_common/Makefile.dep b/drivers/periph_common/Makefile.dep index 714a674bd3..5a08a3c0e4 100644 --- a/drivers/periph_common/Makefile.dep +++ b/drivers/periph_common/Makefile.dep @@ -1,2 +1,4 @@ # Always use periph_gpio_irq_unmask, if available -FEATURES_OPTIONAL += periph_gpio_ll_irq_unmask +ifneq (,$(filter periph_gpio_ll%,$(USEMODULE))) + FEATURES_OPTIONAL += periph_gpio_ll_irq_unmask +endif diff --git a/makefiles/features_modules.inc.mk b/makefiles/features_modules.inc.mk index 84c8cdda96..a903aad5e1 100644 --- a/makefiles/features_modules.inc.mk +++ b/makefiles/features_modules.inc.mk @@ -14,7 +14,10 @@ PERIPH_IGNORE_MODULES := \ periph_clic \ periph_common \ periph_coretimer \ + periph_eth \ + periph_eth_common \ periph_flash \ + periph_flashpage_in_address_space \ periph_flexcomm \ periph_gpio_ll \ periph_gpio_ll_irq \ @@ -26,12 +29,16 @@ PERIPH_IGNORE_MODULES := \ periph_i2c_sw \ periph_init% \ periph_mcg \ + periph_mcg_lite \ + periph_nvm \ periph_plic \ periph_rtc_ms \ periph_rtc_rtt \ periph_rtt_hw_rtc \ periph_rtt_hw_sys \ periph_spi_on_qspi \ + periph_uart_collision \ + periph_uart_rxstart_irq \ periph_wdog \ # PERIPH_MODULES := $(filter-out $(PERIPH_IGNORE_MODULES),\ diff --git a/sys/cpp11-compat/Kconfig b/sys/cpp11-compat/Kconfig index d1a9e55309..235a3a3ae6 100644 --- a/sys/cpp11-compat/Kconfig +++ b/sys/cpp11-compat/Kconfig @@ -11,7 +11,9 @@ config MODULE_CPP11-COMPAT depends on HAS_CPP depends on HAS_LIBSTDCPP + select MODULE_CPP + select MODULE_LIBSTDCPP select MODULE_CPP_NEW_DELETE select MODULE_XTIMER select MODULE_TIMEX diff --git a/tests/driver_dfplayer/app.config.test b/tests/driver_dfplayer/app.config.test index cb6a5817cb..413048393b 100644 --- a/tests/driver_dfplayer/app.config.test +++ b/tests/driver_dfplayer/app.config.test @@ -5,7 +5,6 @@ CONFIG_MODULE_DFPLAYER=y # enable event thread in lowest priority CONFIG_MODULE_EVENT=y CONFIG_MODULE_EVENT_THREAD=y -CONFIG_MODULE_EVENT_THREAD_LOWEST=y # enable shell with basic commands CONFIG_MODULE_SHELL=y diff --git a/tests/external_board_dirs/esp-ci-boards/esp32c3-ci/Makefile.dep b/tests/external_board_dirs/esp-ci-boards/esp32c3-ci/Makefile.dep index 90029202a1..991cc25487 100644 --- a/tests/external_board_dirs/esp-ci-boards/esp32c3-ci/Makefile.dep +++ b/tests/external_board_dirs/esp-ci-boards/esp32c3-ci/Makefile.dep @@ -2,6 +2,7 @@ USEMODULE += board_esp32c3-ci USEMODULE += esp_idf_heap +USEMODULE += esp_jtag USEMODULE += esp_log_startup USEMODULE += esp_log_tagged diff --git a/tests/periph_pm/Kconfig b/tests/periph_pm/Kconfig index 7a0f8866e2..021a1e6040 100644 --- a/tests/periph_pm/Kconfig +++ b/tests/periph_pm/Kconfig @@ -11,5 +11,4 @@ config APPLICATION imply MODULE_PERIPH_RTC imply MODULE_PERIPH_GPIO imply MODULE_PERIPH_GPIO_IRQ - imply MODULE_ZTIMER_NO_PERIPH_RTT if CPU_COMMON_SAM0 depends on TEST_KCONFIG diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/Kconfig b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Kconfig similarity index 91% rename from tests/periph_qdec/boards_modded/nrf52840dk/Kconfig rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/Kconfig index 787b866418..4d477d829a 100644 --- a/tests/periph_qdec/boards_modded/nrf52840dk/Kconfig +++ b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Kconfig @@ -19,5 +19,6 @@ config BOARD_NRF52840DK select HAVE_MTD_SPI_NOR select MODULE_BOARDS_COMMON_NRF52XXXDK if TEST_KCONFIG + select MODULE_BOARD_NRF52840DK_QDEC if TEST_KCONFIG source "$(RIOTBOARD)/common/nrf52xxxdk/Kconfig" diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/Makefile b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/Makefile rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/Makefile.dep b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.dep similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/Makefile.dep rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.dep diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/Makefile.features b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.features similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/Makefile.features rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.features diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/Makefile.include b/tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.include similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/Makefile.include rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/Makefile.include diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/include/board.h b/tests/periph_qdec/boards_modded/nrf52840dk_mod/include/board.h similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/include/board.h rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/include/board.h diff --git a/tests/periph_qdec/boards_modded/nrf52840dk/include/periph_conf.h b/tests/periph_qdec/boards_modded/nrf52840dk_mod/include/periph_conf.h similarity index 100% rename from tests/periph_qdec/boards_modded/nrf52840dk/include/periph_conf.h rename to tests/periph_qdec/boards_modded/nrf52840dk_mod/include/periph_conf.h diff --git a/tests/periph_rtc/Kconfig b/tests/periph_rtc/Kconfig index aed0dbc6fe..28f35f69f8 100644 --- a/tests/periph_rtc/Kconfig +++ b/tests/periph_rtc/Kconfig @@ -10,4 +10,3 @@ config APPLICATION default y imply MODULE_PERIPH_RTC_MEM imply MODULE_PERIPH_RTC_MS - imply MODULE_ZTIMER_NO_PERIPH_RTT