Skip to content

Commit

Permalink
Merge pull request #20438 from MrKevinWeiss/pr/kconfig/dep/removal
Browse files Browse the repository at this point in the history
Remove Kconfig dependency modelling
  • Loading branch information
maribu authored Mar 27, 2024
2 parents 29374c6 + d265330 commit 04620d4
Show file tree
Hide file tree
Showing 1,412 changed files with 833 additions and 23,204 deletions.
26 changes: 1 addition & 25 deletions Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@ mainmenu "RIOT Configuration"
# Load macro definitions
rsource "kconfigs/Kconfig.consts"

# Load feature declarations
rsource "kconfigs/Kconfig.features"

# Load error symbols
rsource "kconfigs/Kconfig.errors"

# For now, get used modules as macros from this file (see kconfig.mk)
osource "$(KCONFIG_GENERATED_DEPENDENCIES)"

Expand All @@ -41,23 +35,5 @@ menu "External Packages"
osource "$(KCONFIG_EXTERNAL_PKG_CONFIGS)"
endmenu # External Packages

comment "RIOT is in a migration phase."
comment "Some configuration options may not be here. Use CFLAGS instead."

comment "!! ERROR: There are conflicting modules active !!"
depends on ERROR_MODULES_CONFLICT != ""

config TEST_KCONFIG
bool
default y if '$(TEST_KCONFIG)' = '1'
help
This is used during the Kconfig migration to test the module dependency
modelling. Don't change the default value unless you know what you are
doing.

config DEVELHELP
bool "Development Help"
help
Set to enable code in RIOT that does safety checking which might not be
needed in a production environment but helps in the development
process.
comment "Ideally, make a PR to add them to the Kconfig."
6 changes: 1 addition & 5 deletions Makefile.base
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,7 @@ endif

ifneq (,$(SRCXX))
ifeq (,$(filter cpp,$(USEMODULE)))
ifneq (1,$(TEST_KCONFIG))
$(error Found C++ source, but feature "cpp" is not used. Add "FEATURES_REQUIRED += cpp")
else
$(error Found C++ source, but "cpp" module is not used. Enable the MODULE_CPP in Kconfig)
endif
$(error Found C++ source, but feature "cpp" is not used. Add "FEATURES_REQUIRED += cpp")
endif
endif

Expand Down
47 changes: 12 additions & 35 deletions Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -268,11 +268,6 @@ include $(RIOTMAKE)/scan-build.inc.mk

export RIOTBUILD_CONFIG_HEADER_C = $(BINDIR)/riotbuild/riotbuild.h

# When testing Kconfig's module modelling we need to run Kconfig
ifeq (1,$(TEST_KCONFIG))
SHOULD_RUN_KCONFIG = 1
endif

ifeq ($(OS),Darwin)
OPEN := open
else
Expand Down Expand Up @@ -425,40 +420,22 @@ include $(RIOTMAKE)/defaultmodules_regular.inc.mk
# Include Kconfig functionalities
include $(RIOTMAKE)/kconfig.mk

# For testing, use TEST_KCONFIG as a switch between Makefile.dep and Kconfig
ifeq (1,$(TEST_KCONFIG))
ifneq ($(RIOT_CI_BUILD),1)
$(info === [ATTENTION] Testing Kconfig dependency modelling ===)
endif
KCONFIG_MODULES := $(call lowercase,$(patsubst CONFIG_MODULE_%,%,$(filter CONFIG_MODULE_%,$(.VARIABLES))))
USEMODULE := $(KCONFIG_MODULES)
KCONFIG_PACKAGES := $(call lowercase,$(patsubst CONFIG_PACKAGE_%,%,$(filter CONFIG_PACKAGE_%,$(.VARIABLES))))
USEPKG := $(KCONFIG_PACKAGES)
# always select provided architecture features
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
# always select CPU core features
FEATURES_REQUIRED += $(filter cpu_core_%,$(FEATURES_PROVIDED))

# Locate used packages in $(RIOTPKG) or $(EXTERNAL_PKG_DIRS).
PKGDIRS := $(RIOTPKG) $(EXTERNAL_PKG_DIRS)
PKG_PATHS := $(sort $(foreach dir,$(PKGDIRS),\
$(foreach pkg,$(USEPKG),$(dir $(wildcard $(dir)/$(pkg)/Makefile)))))
# check if required features are provided and update $(FEATURES_USED)
include $(RIOTMAKE)/features_check.inc.mk

EXTERNAL_MODULE_PATHS := $(dir $(EXTERNAL_MODULE_KCONFIGS))
else
# always select provided architecture features
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
# always select CPU core features
FEATURES_REQUIRED += $(filter cpu_core_%,$(FEATURES_PROVIDED))
# handle removal of default modules
USEMODULE += $(filter-out $(DISABLE_MODULE), $(DEFAULT_MODULE))

# check if required features are provided and update $(FEATURES_USED)
include $(RIOTMAKE)/features_check.inc.mk
# avoid recursive expansion
USEMODULE := $(sort $(USEMODULE))

# handle removal of default modules
USEMODULE += $(filter-out $(DISABLE_MODULE), $(DEFAULT_MODULE))

# avoid recursive expansion
USEMODULE := $(sort $(USEMODULE))

# process dependencies
include $(RIOTMAKE)/dependency_resolution.inc.mk
endif
# process dependencies
include $(RIOTMAKE)/dependency_resolution.inc.mk

# Include dfu-util configuration when using riotboot_dfu bootloader before
# including the board's Makefile.include which could define dfu-util
Expand Down
14 changes: 0 additions & 14 deletions boards/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,3 @@ config BOARD
string
help
Name of the currently selected board.

config MODULE_BOARD
bool
default y
depends on TEST_KCONFIG
help
Module which holds all board-specific files.

config MODULE_BOARD_COMMON_INIT
bool
default y
depends on TEST_KCONFIG
help
Common board initialization module
5 changes: 0 additions & 5 deletions boards/acd52832/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,5 @@ config BOARD_ACD52832
default y
select BOARD_COMMON_NRF52
select CPU_MODEL_NRF52832XXAA
select HAS_PERIPH_I2C
select HAS_PERIPH_SPI
select HAS_PERIPH_UART

select HAVE_SAUL_GPIO

source "$(RIOTBOARD)/common/nrf52xxxdk/Kconfig"
17 changes: 0 additions & 17 deletions boards/adafruit-clue/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,5 @@ config BOARD_ADAFRUIT_CLUE
default y
select BOARD_COMMON_NRF52
select CPU_MODEL_NRF52840XXAA
select HAS_PERIPH_I2C
select HAS_PERIPH_SPI
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAS_HIGHLEVEL_STDIO

select HAVE_APDS9960
select HAVE_BMP280_I2C
select HAVE_ILI9341
select HAVE_LIS3MDL
select HAVE_SAUL_GPIO
select HAVE_SHT3X

select MODULE_USB_BOARD_RESET if KCONFIG_USB && TEST_KCONFIG

config FORCE_USB_STDIO
default y

source "$(RIOTBOARD)/common/nrf52/Kconfig"
23 changes: 0 additions & 23 deletions boards/adafruit-grand-central-m4-express/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,3 @@ config BOARD_ADAFRUIT_GRAND_CENTRAL_M4_EXPRESS
bool
default y
select CPU_MODEL_SAMD51P20A
select HAS_ARDUINO_ANALOG
select HAS_ARDUINO_PINS
select HAS_HIGHLEVEL_STDIO
select HAS_PERIPH_ADC
select HAS_PERIPH_DAC
select HAS_PERIPH_I2C
select HAS_PERIPH_PWM
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_SPI
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAVE_SAUL_GPIO

select HAVE_MTD_SPI_NOR
# This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR
select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR

select HAVE_MTD_SDCARD_DEFAULT
select MODULE_FATFS_VFS if MODULE_VFS_DEFAULT

source "$(RIOTBOARD)/common/samdx1-arduino-bootloader/Kconfig"
18 changes: 0 additions & 18 deletions boards/adafruit-itsybitsy-m4/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,3 @@ config BOARD_ADAFRUIT_ITSYBITSY_M4
bool
default y
select CPU_MODEL_SAMD51G19A
select HAS_HIGHLEVEL_STDIO
select HAS_PERIPH_DAC
select HAS_PERIPH_ADC
select HAS_PERIPH_I2C
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_PWM
select HAS_PERIPH_SPI
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAVE_SAUL_GPIO

select HAVE_MTD_SPI_NOR
# This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR
select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR

source "$(RIOTBOARD)/common/samdx1-arduino-bootloader/Kconfig"
12 changes: 0 additions & 12 deletions boards/adafruit-itsybitsy-nrf52/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,5 @@ config BOARD_ADAFRUIT_ITSYBITSY_NRF52
default y
select BOARD_COMMON_NRF52
select CPU_MODEL_NRF52840XXAA
select HAS_PERIPH_I2C
select HAS_PERIPH_SPI
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAS_HIGHLEVEL_STDIO

select HAVE_SAUL_GPIO

select MODULE_USB_BOARD_RESET if KCONFIG_USB && TEST_KCONFIG

config FORCE_USB_STDIO
default y

source "$(RIOTBOARD)/common/nrf52/Kconfig"
19 changes: 0 additions & 19 deletions boards/adafruit-pybadge/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,3 @@ config BOARD_ADAFRUIT_PYBADGE
bool
default y
select CPU_MODEL_SAMD51J19A
select HAS_HIGHLEVEL_STDIO
select HAS_PERIPH_ADC
select HAS_PERIPH_DAC
select HAS_PERIPH_I2C
select HAS_PERIPH_PWM
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_SPI
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV

select HAVE_ST7735
select HAVE_SAUL_GPIO
select HAVE_MTD_SPI_NOR
# This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR
select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR

source "$(RIOTBOARD)/common/samdx1-arduino-bootloader/Kconfig"
5 changes: 0 additions & 5 deletions boards/airfy-beacon/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,5 @@ config BOARD_AIRFY_BEACON
default y
select BOARD_COMMON_NRF51
select CPU_MODEL_NRF51X22XXAA
select HAS_PERIPH_ADC
select HAS_PERIPH_I2C
select HAS_PERIPH_SPI
select HAS_PERIPH_UART
select MODULE_BOARDS_COMMON_NRF51 if TEST_KCONFIG

source "$(RIOTBOARD)/common/nrf51/Kconfig"
11 changes: 0 additions & 11 deletions boards/alientek-pandora/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,7 @@ config BOARD_ALIENTEK_PANDORA
default y
select CPU_MODEL_STM32L475VE

# Put defined MCU peripherals here (in alphabetical order)
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART

# Put other features for this board (in alphabetical order)
select HAS_RIOTBOOT

# Clock configuration
select BOARD_HAS_LSE

select HAVE_SAUL_GPIO

source "$(RIOTBOARD)/common/stm32/Kconfig"
2 changes: 0 additions & 2 deletions boards/arduino-duemilanove/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ config BOARD_ARDUINO_DUEMILANOVE
default y
select BOARD_COMMON_ARDUINO_ATMEGA
select CPU_MODEL_ATMEGA328P
select MODULE_BOARDS_COMMON_ARDUINO-ATMEGA if TEST_KCONFIG
select HAS_ARDUINO_SHIELD_UNO

config BOARD
default "arduino-duemilanove" if BOARD_ARDUINO_DUEMILANOVE
Expand Down
2 changes: 0 additions & 2 deletions boards/arduino-leonardo/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,5 @@ config BOARD_ARDUINO_LEONARDO
default y
select BOARD_COMMON_ARDUINO_ATMEGA
select CPU_MODEL_ATMEGA32U4
select MODULE_BOARDS_COMMON_ARDUINO-ATMEGA if TEST_KCONFIG
select HAS_ARDUINO_SHIELD_UNO

source "$(RIOTBOARD)/common/arduino-atmega/Kconfig"
3 changes: 0 additions & 3 deletions boards/arduino-mega2560/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,5 @@ config BOARD_ARDUINO_MEGA2560
default y
select CPU_MODEL_ATMEGA2560
select BOARD_COMMON_ARDUINO_ATMEGA
select MODULE_BOARDS_COMMON_ARDUINO-ATMEGA if TEST_KCONFIG
select HAS_ARDUINO_SHIELD_MEGA
select HAS_ARDUINO_SHIELD_UNO

source "$(RIOTBOARD)/common/arduino-atmega/Kconfig"
1 change: 0 additions & 1 deletion boards/arduino-mkr1000/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ config BOARD_ARDUINO_MKR1000
bool
default y
select BOARD_COMMON_ARDUINO_MKR
select MODULE_BOARDS_COMMON_ARDUINO-MKR if TEST_KCONFIG

source "$(RIOTBOARD)/common/arduino-mkr/Kconfig"
1 change: 0 additions & 1 deletion boards/arduino-mkrfox1200/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ config BOARD_ARDUINO_MKRFOX1200
bool
default y
select BOARD_COMMON_ARDUINO_MKR
select MODULE_BOARDS_COMMON_ARDUINO-MKR if TEST_KCONFIG

source "$(RIOTBOARD)/common/arduino-mkr/Kconfig"
1 change: 0 additions & 1 deletion boards/arduino-mkrwan1300/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ config BOARD_ARDUINO_MKRWAN1300
bool
default y
select BOARD_COMMON_ARDUINO_MKR
select MODULE_BOARDS_COMMON_ARDUINO-MKR if TEST_KCONFIG

source "$(RIOTBOARD)/common/arduino-mkr/Kconfig"
1 change: 0 additions & 1 deletion boards/arduino-mkrzero/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ config BOARD_ARDUINO_MKRZERO
bool
default y
select BOARD_COMMON_ARDUINO_MKR
select MODULE_BOARDS_COMMON_ARDUINO-MKR if TEST_KCONFIG

source "$(RIOTBOARD)/common/arduino-mkr/Kconfig"
12 changes: 0 additions & 12 deletions boards/arduino-nano-33-ble/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,5 @@ config BOARD_ARDUINO_NANO_33_BLE
default y
select BOARD_COMMON_NRF52
select CPU_MODEL_NRF52840XXAA
select HAS_PERIPH_I2C
select HAS_PERIPH_SPI
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAS_HIGHLEVEL_STDIO

select HAVE_SAUL_GPIO

select MODULE_USB_BOARD_RESET if KCONFIG_USB && TEST_KCONFIG

config FORCE_USB_STDIO
default y

source "$(RIOTBOARD)/common/nrf52/Kconfig"
14 changes: 0 additions & 14 deletions boards/arduino-nano-33-iot/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,3 @@ config BOARD_ARDUINO_NANO_33_IOT
bool
default y
select CPU_MODEL_SAMD21G18A
select HAS_PERIPH_ADC
select HAS_PERIPH_I2C
select HAS_PERIPH_PWM
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_SPI
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_USBDEV
select HAS_HIGHLEVEL_STDIO

select HAVE_SAUL_GPIO

source "$(RIOTBOARD)/common/samdx1-arduino-bootloader/Kconfig"
2 changes: 0 additions & 2 deletions boards/arduino-nano/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ config BOARD_ARDUINO_NANO
default y
select BOARD_COMMON_ARDUINO_ATMEGA
select CPU_MODEL_ATMEGA328P
select MODULE_BOARDS_COMMON_ARDUINO-ATMEGA if TEST_KCONFIG
select HAS_ARDUINO_SHIELD_NANO

config BOARD
default "arduino-nano" if BOARD_ARDUINO_NANO
Expand Down
2 changes: 0 additions & 2 deletions boards/arduino-uno/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ config BOARD_ARDUINO_UNO
default y
select CPU_MODEL_ATMEGA328P
select BOARD_COMMON_ARDUINO_ATMEGA
select MODULE_BOARDS_COMMON_ARDUINO-ATMEGA if TEST_KCONFIG
select HAS_ARDUINO_SHIELD_UNO

config BOARD
default "arduino-uno" if BOARD_ARDUINO_UNO
Expand Down
Loading

0 comments on commit 04620d4

Please sign in to comment.