diff --git a/Makefile.dep b/Makefile.dep index adabdabd7c..560384edeb 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -877,6 +877,11 @@ USEMODULE += $(filter periph_%,$(FEATURES_USED)) # select cpu_check_address pseudomodule if the corresponding feature is used USEMODULE += $(filter cpu_check_address, $(FEATURES_USED)) +# include periph_common if any periph_* driver is used +ifneq (,$(filter periph_%, $(USEMODULE))) + USEMODULE += periph_common +endif + # recursively catch transitive dependencies USEMODULE := $(sort $(USEMODULE)) USEPKG := $(sort $(USEPKG)) diff --git a/cpu/cc2538/Makefile.include b/cpu/cc2538/Makefile.include index bc93aaa0eb..7a03b807df 100644 --- a/cpu/cc2538/Makefile.include +++ b/cpu/cc2538/Makefile.include @@ -1,6 +1,3 @@ export CPU_ARCH := cortex-m3 -# include common SPI functions -USEMODULE += periph_common - include $(RIOTMAKE)/arch/cortexm.inc.mk diff --git a/cpu/cc26x0/Makefile.include b/cpu/cc26x0/Makefile.include index c4f2039496..7a03b807df 100644 --- a/cpu/cc26x0/Makefile.include +++ b/cpu/cc26x0/Makefile.include @@ -1,5 +1,3 @@ export CPU_ARCH := cortex-m3 -USEMODULE += periph_common - include $(RIOTMAKE)/arch/cortexm.inc.mk diff --git a/cpu/cc430/Makefile.include b/cpu/cc430/Makefile.include index c63df37c23..49f1ae492c 100644 --- a/cpu/cc430/Makefile.include +++ b/cpu/cc430/Makefile.include @@ -1,3 +1,3 @@ include $(RIOTCPU)/msp430_common/Makefile.include -export USEMODULE += periph periph_common +export USEMODULE += periph diff --git a/cpu/efm32/Makefile.include b/cpu/efm32/Makefile.include index de69fa6fb7..8bb1451593 100644 --- a/cpu/efm32/Makefile.include +++ b/cpu/efm32/Makefile.include @@ -20,9 +20,6 @@ USEMODULE += cpu_$(EFM32_FAMILY) # vectors.o is provided by 'cpu_$(EFM32_FAMILY)' and not by 'cpu' VECTORS_O := $(BINDIR)/cpu_$(EFM32_FAMILY)/vectors.o -# include common periph module -USEMODULE += periph_common - # include layered power management USEMODULE += pm_layered diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index 2194541f16..68471ab5d9 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -69,7 +69,6 @@ USEMODULE += log USEMODULE += newlib_syscalls_default USEMODULE += periph USEMODULE += periph_adc_ctrl -USEMODULE += periph_common USEMODULE += periph_hwrng USEMODULE += periph_flash USEMODULE += periph_rtc diff --git a/cpu/esp8266/Makefile.include b/cpu/esp8266/Makefile.include index 01d2885d2c..1a57d3f71c 100644 --- a/cpu/esp8266/Makefile.include +++ b/cpu/esp8266/Makefile.include @@ -56,7 +56,6 @@ PSEUDOMODULES += esp_spiffs USEMODULE += esp USEMODULE += mtd USEMODULE += periph -USEMODULE += periph_common USEMODULE += ps USEMODULE += random USEMODULE += sdk diff --git a/cpu/fe310/Makefile.include b/cpu/fe310/Makefile.include index 9f8e7ad150..564abaa5b3 100644 --- a/cpu/fe310/Makefile.include +++ b/cpu/fe310/Makefile.include @@ -5,7 +5,6 @@ USEMODULE += newlib_syscalls_fe310 USEMODULE += sifive_drivers_fe310 USEMODULE += periph -USEMODULE += periph_common USEMODULE += periph_pm CFLAGS += -Wno-pedantic diff --git a/cpu/kinetis/Makefile.include b/cpu/kinetis/Makefile.include index 2fe0fee188..9498ad0864 100644 --- a/cpu/kinetis/Makefile.include +++ b/cpu/kinetis/Makefile.include @@ -36,9 +36,6 @@ LINKFLAGS += $(LINKFLAGPREFIX)--defsym=_ram_length=$(RAM_LEN) # add the CPU specific flash configuration field for the linker export UNDEF += $(BINDIR)/cpu/fcfield.o -# include common periph drivers -USEMODULE += periph_common - # select kinetis periph drivers ifeq (EA,$(KINETIS_SERIES)) USEMODULE += periph_ics diff --git a/cpu/lm4f120/Makefile.include b/cpu/lm4f120/Makefile.include index fb2d4cecf2..4570e4a1bc 100644 --- a/cpu/lm4f120/Makefile.include +++ b/cpu/lm4f120/Makefile.include @@ -2,7 +2,4 @@ export CPU_ARCH = cortex-m4f include $(RIOTMAKE)/arch/cortexm.inc.mk -# use common periph functions -USEMODULE += periph_common - include $(RIOTCPU)/stellaris_common/Makefile.include diff --git a/cpu/lpc2387/Makefile.include b/cpu/lpc2387/Makefile.include index afbb4778a0..fe5a518fa2 100644 --- a/cpu/lpc2387/Makefile.include +++ b/cpu/lpc2387/Makefile.include @@ -1,3 +1,3 @@ include $(RIOTCPU)/arm7_common/Makefile.include -USEMODULE += arm7_common periph periph_common bitfield newlib +USEMODULE += arm7_common periph bitfield newlib diff --git a/cpu/mips32r2_common/Makefile.include b/cpu/mips32r2_common/Makefile.include index 8924ee5037..50b846e15b 100644 --- a/cpu/mips32r2_common/Makefile.include +++ b/cpu/mips32r2_common/Makefile.include @@ -2,7 +2,6 @@ export INCLUDES += -I$(RIOTCPU)/mips32r2_common/include export USEMODULE += mips32r2_common export USEMODULE += mips32r2_common_periph -export USEMODULE += periph_common export USEMODULE += newlib # mips32 needs periph_timer for its gettimeofday() implementation diff --git a/cpu/mips_pic32_common/Makefile.include b/cpu/mips_pic32_common/Makefile.include index e0582db5dd..e91a1b5cee 100644 --- a/cpu/mips_pic32_common/Makefile.include +++ b/cpu/mips_pic32_common/Makefile.include @@ -4,5 +4,3 @@ export INCLUDES += -I$(RIOTCPU)/mips_pic32_common/include USEMODULE += mips_pic32_common USEMODULE += mips_pic32_common_periph - -USEMODULE += periph_common diff --git a/cpu/msp430_common/Makefile.include b/cpu/msp430_common/Makefile.include index 3e358b5871..36d028e370 100644 --- a/cpu/msp430_common/Makefile.include +++ b/cpu/msp430_common/Makefile.include @@ -7,7 +7,7 @@ MODEL = $(shell echo $(CPU_MODEL) | tr 'a-z' 'A-Z') export CFLAGS += -DCPU_MODEL_$(MODEL) export UNDEF += $(BINDIR)/msp430_common/startup.o -export USEMODULE += msp430_common msp430_common_periph msp430_malloc periph_common +export USEMODULE += msp430_common msp430_common_periph msp430_malloc DEFAULT_MODULE += oneway_malloc diff --git a/cpu/msp430fxyz/Makefile.include b/cpu/msp430fxyz/Makefile.include index 044bd13233..f3ceaf30b0 100644 --- a/cpu/msp430fxyz/Makefile.include +++ b/cpu/msp430fxyz/Makefile.include @@ -1,3 +1,3 @@ include $(RIOTCPU)/msp430_common/Makefile.include -export USEMODULE += periph periph_common stdio_uart +export USEMODULE += periph stdio_uart diff --git a/cpu/native/Makefile.include b/cpu/native/Makefile.include index 76ddd9ead0..4e213560e1 100644 --- a/cpu/native/Makefile.include +++ b/cpu/native/Makefile.include @@ -8,7 +8,4 @@ endif USEMODULE += periph USEMODULE += periph_uart -# include common peripheral initialization -USEMODULE += periph_common - TOOLCHAINS_SUPPORTED = gnu llvm diff --git a/cpu/nrf5x_common/Makefile.include b/cpu/nrf5x_common/Makefile.include index 3bb12bc975..407563ea3b 100644 --- a/cpu/nrf5x_common/Makefile.include +++ b/cpu/nrf5x_common/Makefile.include @@ -2,9 +2,6 @@ FAM = $(shell echo $(CPU_FAM) | tr 'a-z-' 'A-Z_') export CFLAGS += -DCPU_FAM_$(FAM) -# use common periph functions -USEMODULE += periph_common - # include nrf5x common periph drivers USEMODULE += nrf5x_common_periph diff --git a/cpu/sam0_common/Makefile.include b/cpu/sam0_common/Makefile.include index 2b561fc7d5..dd1db86930 100644 --- a/cpu/sam0_common/Makefile.include +++ b/cpu/sam0_common/Makefile.include @@ -22,9 +22,6 @@ export CFLAGS += -DDONT_USE_PREDEFINED_PERIPHERALS_HANDLERS # For Cortex-M cpu we use the common cortexm.ld linker script LINKER_SCRIPT ?= cortexm.ld -# use common periph functions -USEMODULE += periph_common - # include sam0 common periph drivers USEMODULE += sam0_common_periph diff --git a/cpu/sam3/Makefile.include b/cpu/sam3/Makefile.include index 1e2e8b9182..76410eb754 100644 --- a/cpu/sam3/Makefile.include +++ b/cpu/sam3/Makefile.include @@ -1,8 +1,5 @@ export CPU_ARCH = cortex-m3 export CPU_FAM = sam3 -# include common SPI functions -USEMODULE += periph_common - include $(RIOTCPU)/sam_common/Makefile.include include $(RIOTMAKE)/arch/cortexm.inc.mk diff --git a/cpu/stm32_common/Makefile.include b/cpu/stm32_common/Makefile.include index 3a92639203..b897f5c60f 100644 --- a/cpu/stm32_common/Makefile.include +++ b/cpu/stm32_common/Makefile.include @@ -2,9 +2,6 @@ FAM = $(shell echo $(CPU_FAM) | tr 'a-z-' 'A-Z_') export CFLAGS += -DCPU_FAM_$(FAM) -# include common periph module -USEMODULE += periph_common - # All stm32 families provide pm support USEMODULE += pm_layered diff --git a/makefiles/arch/atmega.inc.mk b/makefiles/arch/atmega.inc.mk index b45178e301..6636bb4838 100644 --- a/makefiles/arch/atmega.inc.mk +++ b/makefiles/arch/atmega.inc.mk @@ -16,7 +16,6 @@ USEMODULE += atmega_common # export the peripheral drivers to be linked into the final binary USEMODULE += atmega_common_periph -USEMODULE += periph_common # Export the peripheral drivers to be linked into the final binary, for now # only atmega126rfr2 has periph drivers diff --git a/makefiles/arch/cortexm.inc.mk b/makefiles/arch/cortexm.inc.mk index 0416869b90..dc1794822a 100644 --- a/makefiles/arch/cortexm.inc.mk +++ b/makefiles/arch/cortexm.inc.mk @@ -34,7 +34,6 @@ export USEMODULE += cortexm_common # Export the peripheral drivers to be linked into the final binary: export USEMODULE += periph # include common periph code -export USEMODULE += periph_common export USEMODULE += cortexm_common_periph # all cortex MCU's use newlib as libc