diff --git a/Makefile.dep b/Makefile.dep index b511ca08e6..a1468094cb 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -784,6 +784,11 @@ ifneq (,$(filter uuid,$(USEMODULE))) USEMODULE += random endif +# Enable periph_gpio when periph_gpio_irq is enabled +ifneq (,$(filter periph_gpio_irq,$(USEMODULE))) + FEATURES_REQUIRED += periph_gpio +endif + # always select gpio (until explicit dependencies are sorted out) FEATURES_OPTIONAL += periph_gpio diff --git a/boards/airfy-beacon/Makefile.features b/boards/airfy-beacon/Makefile.features index d6d2507b21..0a73e550b8 100644 --- a/boards/airfy-beacon/Makefile.features +++ b/boards/airfy-beacon/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/arduino-zero/Makefile.features b/boards/arduino-zero/Makefile.features index 9f8df33ba6..935c7763db 100644 --- a/boards/arduino-zero/Makefile.features +++ b/boards/arduino-zero/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/avsextrem/Makefile.features b/boards/avsextrem/Makefile.features index 7270b062db..796f784c65 100644 --- a/boards/avsextrem/Makefile.features +++ b/boards/avsextrem/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/b-l072z-lrwan1/Makefile.features b/boards/b-l072z-lrwan1/Makefile.features index 8eb4748979..d17c81f04e 100644 --- a/boards/b-l072z-lrwan1/Makefile.features +++ b/boards/b-l072z-lrwan1/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/b-l475e-iot01a/Makefile.features b/boards/b-l475e-iot01a/Makefile.features index 874798d4dc..2746637e28 100644 --- a/boards/b-l475e-iot01a/Makefile.features +++ b/boards/b-l475e-iot01a/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_spi diff --git a/boards/calliope-mini/Makefile.features b/boards/calliope-mini/Makefile.features index e6225db18b..07616adaa9 100644 --- a/boards/calliope-mini/Makefile.features +++ b/boards/calliope-mini/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_timer diff --git a/boards/cc2538dk/Makefile.features b/boards/cc2538dk/Makefile.features index b715010a87..b6bc44bc8d 100644 --- a/boards/cc2538dk/Makefile.features +++ b/boards/cc2538dk/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/cc2650-launchpad/Makefile.features b/boards/cc2650-launchpad/Makefile.features index b0ad7c4bee..8da1747fd4 100644 --- a/boards/cc2650-launchpad/Makefile.features +++ b/boards/cc2650-launchpad/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/cc2650stk/Makefile.features b/boards/cc2650stk/Makefile.features index b0ad7c4bee..8da1747fd4 100644 --- a/boards/cc2650stk/Makefile.features +++ b/boards/cc2650stk/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/common/arduino-atmega/Makefile.features b/boards/common/arduino-atmega/Makefile.features index d139b8c537..3786b2a318 100644 --- a/boards/common/arduino-atmega/Makefile.features +++ b/boards/common/arduino-atmega/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/common/arduino-due/Makefile.features b/boards/common/arduino-due/Makefile.features index 16dda01475..f524147e52 100644 --- a/boards/common/arduino-due/Makefile.features +++ b/boards/common/arduino-due/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/common/arduino-mkr/Makefile.features b/boards/common/arduino-mkr/Makefile.features index 0a6c02b043..4590df7d1b 100644 --- a/boards/common/arduino-mkr/Makefile.features +++ b/boards/common/arduino-mkr/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/common/iotlab/Makefile.features b/boards/common/iotlab/Makefile.features index 3712ffc7a5..5b0e6f92e9 100644 --- a/boards/common/iotlab/Makefile.features +++ b/boards/common/iotlab/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/common/nrf52xxxdk/Makefile.features b/boards/common/nrf52xxxdk/Makefile.features index abb8c9dedf..8a346e8eae 100644 --- a/boards/common/nrf52xxxdk/Makefile.features +++ b/boards/common/nrf52xxxdk/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/common/stm32f103c8/Makefile.features b/boards/common/stm32f103c8/Makefile.features index dd5163b8a7..08264c53f9 100644 --- a/boards/common/stm32f103c8/Makefile.features +++ b/boards/common/stm32f103c8/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_spi diff --git a/boards/common/wsn430/Makefile.features b/boards/common/wsn430/Makefile.features index 6d1b3acb46..c13bd0d37a 100644 --- a/boards/common/wsn430/Makefile.features +++ b/boards/common/wsn430/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_uart diff --git a/boards/ek-lm4f120xl/Makefile.features b/boards/ek-lm4f120xl/Makefile.features index f8d1d9b68f..f32cd2a383 100644 --- a/boards/ek-lm4f120xl/Makefile.features +++ b/boards/ek-lm4f120xl/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/f4vi1/Makefile.features b/boards/f4vi1/Makefile.features index f02bca6c0d..ed6890cde2 100644 --- a/boards/f4vi1/Makefile.features +++ b/boards/f4vi1/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq # The board MPU family (used for grouping by the CI system) FEATURES_MCU_GROUP = cortex_m4_1 diff --git a/boards/feather-m0/Makefile.features b/boards/feather-m0/Makefile.features index 79f3ed861c..489e089ba2 100644 --- a/boards/feather-m0/Makefile.features +++ b/boards/feather-m0/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/fox/Makefile.features b/boards/fox/Makefile.features index c2353e12ee..3040df89ed 100644 --- a/boards/fox/Makefile.features +++ b/boards/fox/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/hifive1/Makefile.features b/boards/hifive1/Makefile.features index 289f037b4a..3920db6791 100644 --- a/boards/hifive1/Makefile.features +++ b/boards/hifive1/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_cpuid -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq #FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/ikea-tradfri/Makefile.features b/boards/ikea-tradfri/Makefile.features index 1006ab232b..3772567290 100644 --- a/boards/ikea-tradfri/Makefile.features +++ b/boards/ikea-tradfri/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/limifrog-v1/Makefile.features b/boards/limifrog-v1/Makefile.features index 5852d56735..618ba1ecb0 100644 --- a/boards/limifrog-v1/Makefile.features +++ b/boards/limifrog-v1/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/maple-mini/Makefile.features b/boards/maple-mini/Makefile.features index ee0411edeb..7b03bc4e01 100644 --- a/boards/maple-mini/Makefile.features +++ b/boards/maple-mini/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/mbed_lpc1768/Makefile.features b/boards/mbed_lpc1768/Makefile.features index 777b500b0d..90283b5a66 100644 --- a/boards/mbed_lpc1768/Makefile.features +++ b/boards/mbed_lpc1768/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/mega-xplained/Makefile.features b/boards/mega-xplained/Makefile.features index 02232a9488..af99dda59d 100644 --- a/boards/mega-xplained/Makefile.features +++ b/boards/mega-xplained/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/microbit/Makefile.features b/boards/microbit/Makefile.features index 482395865e..e5117182f5 100644 --- a/boards/microbit/Makefile.features +++ b/boards/microbit/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_timer diff --git a/boards/msb-430/Makefile.features b/boards/msb-430/Makefile.features index e43796c32b..90d2ee7ac9 100644 --- a/boards/msb-430/Makefile.features +++ b/boards/msb-430/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/msb-430h/Makefile.features b/boards/msb-430h/Makefile.features index 5eb8b0f7d2..42f5e99725 100644 --- a/boards/msb-430h/Makefile.features +++ b/boards/msb-430h/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/msba2/Makefile.features b/boards/msba2/Makefile.features index cf6e3b660c..2bd10a890c 100644 --- a/boards/msba2/Makefile.features +++ b/boards/msba2/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/msbiot/Makefile.features b/boards/msbiot/Makefile.features index 2939048890..6706dd5d11 100644 --- a/boards/msbiot/Makefile.features +++ b/boards/msbiot/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_spi diff --git a/boards/native/Makefile.features b/boards/native/Makefile.features index 5082431ba4..0f256712b1 100644 --- a/boards/native/Makefile.features +++ b/boards/native/Makefile.features @@ -2,7 +2,7 @@ FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_qdec # Various other features (if any) diff --git a/boards/nrf51dongle/Makefile.features b/boards/nrf51dongle/Makefile.features index 2ab6421bac..1c38b18829 100644 --- a/boards/nrf51dongle/Makefile.features +++ b/boards/nrf51dongle/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/nrf6310/Makefile.features b/boards/nrf6310/Makefile.features index 81e4f4a5a0..be7c033af4 100644 --- a/boards/nrf6310/Makefile.features +++ b/boards/nrf6310/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/nucleo-f030r8/Makefile.features b/boards/nucleo-f030r8/Makefile.features index a5ae6b5961..cb9067c7c0 100644 --- a/boards/nucleo-f030r8/Makefile.features +++ b/boards/nucleo-f030r8/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer diff --git a/boards/nucleo-f031k6/Makefile.features b/boards/nucleo-f031k6/Makefile.features index bf8dbd4a68..0c16e432b9 100644 --- a/boards/nucleo-f031k6/Makefile.features +++ b/boards/nucleo-f031k6/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f042k6/Makefile.features b/boards/nucleo-f042k6/Makefile.features index bf8dbd4a68..0c16e432b9 100644 --- a/boards/nucleo-f042k6/Makefile.features +++ b/boards/nucleo-f042k6/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f070rb/Makefile.features b/boards/nucleo-f070rb/Makefile.features index 784fb12492..f75770478b 100644 --- a/boards/nucleo-f070rb/Makefile.features +++ b/boards/nucleo-f070rb/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f072rb/Makefile.features b/boards/nucleo-f072rb/Makefile.features index d23147e336..a4b143aa2f 100644 --- a/boards/nucleo-f072rb/Makefile.features +++ b/boards/nucleo-f072rb/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer diff --git a/boards/nucleo-f091rc/Makefile.features b/boards/nucleo-f091rc/Makefile.features index 0f82803014..58683adfd9 100644 --- a/boards/nucleo-f091rc/Makefile.features +++ b/boards/nucleo-f091rc/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f103rb/Makefile.features b/boards/nucleo-f103rb/Makefile.features index 5c80352fbe..c5285e9839 100644 --- a/boards/nucleo-f103rb/Makefile.features +++ b/boards/nucleo-f103rb/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f207zg/Makefile.features b/boards/nucleo-f207zg/Makefile.features index 66d641cc89..f90aa3b20b 100644 --- a/boards/nucleo-f207zg/Makefile.features +++ b/boards/nucleo-f207zg/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f302r8/Makefile.features b/boards/nucleo-f302r8/Makefile.features index c70c7439ac..cbe74657b0 100644 --- a/boards/nucleo-f302r8/Makefile.features +++ b/boards/nucleo-f302r8/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f303k8/Makefile.features b/boards/nucleo-f303k8/Makefile.features index ef8701ee65..6e84db790c 100644 --- a/boards/nucleo-f303k8/Makefile.features +++ b/boards/nucleo-f303k8/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f303re/Makefile.features b/boards/nucleo-f303re/Makefile.features index c70c7439ac..cbe74657b0 100644 --- a/boards/nucleo-f303re/Makefile.features +++ b/boards/nucleo-f303re/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f303ze/Makefile.features b/boards/nucleo-f303ze/Makefile.features index 3e90c05d1e..aaa7efe244 100644 --- a/boards/nucleo-f303ze/Makefile.features +++ b/boards/nucleo-f303ze/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f334r8/Makefile.features b/boards/nucleo-f334r8/Makefile.features index d8564bbf7e..2ccfc67e0f 100644 --- a/boards/nucleo-f334r8/Makefile.features +++ b/boards/nucleo-f334r8/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f401re/Makefile.features b/boards/nucleo-f401re/Makefile.features index 085ad2f155..12d2e69d15 100644 --- a/boards/nucleo-f401re/Makefile.features +++ b/boards/nucleo-f401re/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_i2c -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f410rb/Makefile.features b/boards/nucleo-f410rb/Makefile.features index 2c9a4ae146..dc39d2b1b0 100644 --- a/boards/nucleo-f410rb/Makefile.features +++ b/boards/nucleo-f410rb/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_i2c -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/nucleo-f411re/Makefile.features b/boards/nucleo-f411re/Makefile.features index 7bb8c5285a..6e16d4fab4 100644 --- a/boards/nucleo-f411re/Makefile.features +++ b/boards/nucleo-f411re/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_i2c -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f412zg/Makefile.features b/boards/nucleo-f412zg/Makefile.features index 7e81643a3e..59f12a89d1 100644 --- a/boards/nucleo-f412zg/Makefile.features +++ b/boards/nucleo-f412zg/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f413zh/Makefile.features b/boards/nucleo-f413zh/Makefile.features index 7531e5f16f..aa44c10a01 100644 --- a/boards/nucleo-f413zh/Makefile.features +++ b/boards/nucleo-f413zh/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dma -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f429zi/Makefile.features b/boards/nucleo-f429zi/Makefile.features index 7041868778..a7b79824ef 100644 --- a/boards/nucleo-f429zi/Makefile.features +++ b/boards/nucleo-f429zi/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f446re/Makefile.features b/boards/nucleo-f446re/Makefile.features index 085ad2f155..12d2e69d15 100644 --- a/boards/nucleo-f446re/Makefile.features +++ b/boards/nucleo-f446re/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_i2c -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-f446ze/Makefile.features b/boards/nucleo-f446ze/Makefile.features index 3c0a5eacfc..0861a00011 100644 --- a/boards/nucleo-f446ze/Makefile.features +++ b/boards/nucleo-f446ze/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f722ze/Makefile.features b/boards/nucleo-f722ze/Makefile.features index 1529f4426e..0e0df98b3c 100644 --- a/boards/nucleo-f722ze/Makefile.features +++ b/boards/nucleo-f722ze/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer diff --git a/boards/nucleo-f746zg/Makefile.features b/boards/nucleo-f746zg/Makefile.features index ed5b86f289..b077b170a4 100644 --- a/boards/nucleo-f746zg/Makefile.features +++ b/boards/nucleo-f746zg/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/nucleo-f767zi/Makefile.features b/boards/nucleo-f767zi/Makefile.features index ed5b86f289..b077b170a4 100644 --- a/boards/nucleo-f767zi/Makefile.features +++ b/boards/nucleo-f767zi/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/nucleo-l031k6/Makefile.features b/boards/nucleo-l031k6/Makefile.features index 0e680df714..f76b2326a6 100644 --- a/boards/nucleo-l031k6/Makefile.features +++ b/boards/nucleo-l031k6/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-l053r8/Makefile.features b/boards/nucleo-l053r8/Makefile.features index 674038985b..151f44822f 100644 --- a/boards/nucleo-l053r8/Makefile.features +++ b/boards/nucleo-l053r8/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-l073rz/Makefile.features b/boards/nucleo-l073rz/Makefile.features index 3d4cdbc941..cf0fa6655d 100644 --- a/boards/nucleo-l073rz/Makefile.features +++ b/boards/nucleo-l073rz/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-l152re/Makefile.features b/boards/nucleo-l152re/Makefile.features index 5af262f182..82c72e7a2c 100644 --- a/boards/nucleo-l152re/Makefile.features +++ b/boards/nucleo-l152re/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-l432kc/Makefile.features b/boards/nucleo-l432kc/Makefile.features index 5384c09134..d6c4635821 100644 --- a/boards/nucleo-l432kc/Makefile.features +++ b/boards/nucleo-l432kc/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/nucleo-l433rc/Makefile.features b/boards/nucleo-l433rc/Makefile.features index e2b7533200..3c544af515 100644 --- a/boards/nucleo-l433rc/Makefile.features +++ b/boards/nucleo-l433rc/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/nucleo-l452re/Makefile.features b/boards/nucleo-l452re/Makefile.features index e2b7533200..3c544af515 100644 --- a/boards/nucleo-l452re/Makefile.features +++ b/boards/nucleo-l452re/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/nucleo-l476rg/Makefile.features b/boards/nucleo-l476rg/Makefile.features index 6ab4bceb6d..f58f80b570 100644 --- a/boards/nucleo-l476rg/Makefile.features +++ b/boards/nucleo-l476rg/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/nucleo-l496zg/Makefile.features b/boards/nucleo-l496zg/Makefile.features index 1cd9ab4302..170abf266d 100644 --- a/boards/nucleo-l496zg/Makefile.features +++ b/boards/nucleo-l496zg/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/nz32-sc151/Makefile.features b/boards/nz32-sc151/Makefile.features index 5e9699db90..c6ff493bd9 100644 --- a/boards/nz32-sc151/Makefile.features +++ b/boards/nz32-sc151/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/opencm904/Makefile.features b/boards/opencm904/Makefile.features index 847b4aea0c..f4f8bb5656 100644 --- a/boards/opencm904/Makefile.features +++ b/boards/opencm904/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/openmote-b/Makefile.features b/boards/openmote-b/Makefile.features index 24693fb349..5452d8bd15 100644 --- a/boards/openmote-b/Makefile.features +++ b/boards/openmote-b/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/openmote-cc2538/Makefile.features b/boards/openmote-cc2538/Makefile.features index bdfcd7e5b6..f96279badc 100644 --- a/boards/openmote-cc2538/Makefile.features +++ b/boards/openmote-cc2538/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/pic32-clicker/Makefile.features b/boards/pic32-clicker/Makefile.features index 6df4270b88..ff13a3f663 100644 --- a/boards/pic32-clicker/Makefile.features +++ b/boards/pic32-clicker/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/pic32-wifire/Makefile.features b/boards/pic32-wifire/Makefile.features index 5e6f5d1227..905187f807 100644 --- a/boards/pic32-wifire/Makefile.features +++ b/boards/pic32-wifire/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/remote-pa/Makefile.features b/boards/remote-pa/Makefile.features index bdfcd7e5b6..f96279badc 100644 --- a/boards/remote-pa/Makefile.features +++ b/boards/remote-pa/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/remote-reva/Makefile.features b/boards/remote-reva/Makefile.features index bdfcd7e5b6..f96279badc 100644 --- a/boards/remote-reva/Makefile.features +++ b/boards/remote-reva/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/remote-revb/Makefile.features b/boards/remote-revb/Makefile.features index bdfcd7e5b6..f96279badc 100644 --- a/boards/remote-revb/Makefile.features +++ b/boards/remote-revb/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/ruuvitag/Makefile.features b/boards/ruuvitag/Makefile.features index 74d375b6e2..8d41ae6b04 100644 --- a/boards/ruuvitag/Makefile.features +++ b/boards/ruuvitag/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/samd21-xpro/Makefile.features b/boards/samd21-xpro/Makefile.features index 79f3ed861c..489e089ba2 100644 --- a/boards/samd21-xpro/Makefile.features +++ b/boards/samd21-xpro/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/saml21-xpro/Makefile.features b/boards/saml21-xpro/Makefile.features index 75d666d83a..c06d9c2a0a 100644 --- a/boards/saml21-xpro/Makefile.features +++ b/boards/saml21-xpro/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/samr21-xpro/Makefile.features b/boards/samr21-xpro/Makefile.features index 79f3ed861c..489e089ba2 100644 --- a/boards/samr21-xpro/Makefile.features +++ b/boards/samr21-xpro/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/seeeduino_arch-pro/Makefile.features b/boards/seeeduino_arch-pro/Makefile.features index 777b500b0d..90283b5a66 100644 --- a/boards/seeeduino_arch-pro/Makefile.features +++ b/boards/seeeduino_arch-pro/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/sensebox_samd21/Makefile.features b/boards/sensebox_samd21/Makefile.features index 2ff2d543e2..23f79a2aaa 100644 --- a/boards/sensebox_samd21/Makefile.features +++ b/boards/sensebox_samd21/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/slstk3401a/Makefile.features b/boards/slstk3401a/Makefile.features index eec9ddfd7d..8268377bb8 100644 --- a/boards/slstk3401a/Makefile.features +++ b/boards/slstk3401a/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/slstk3402a/Makefile.features b/boards/slstk3402a/Makefile.features index eec9ddfd7d..8268377bb8 100644 --- a/boards/slstk3402a/Makefile.features +++ b/boards/slstk3402a/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/sltb001a/Makefile.features b/boards/sltb001a/Makefile.features index eec9ddfd7d..8268377bb8 100644 --- a/boards/sltb001a/Makefile.features +++ b/boards/sltb001a/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/slwstk6000b/Makefile.features b/boards/slwstk6000b/Makefile.features index eec9ddfd7d..8268377bb8 100644 --- a/boards/slwstk6000b/Makefile.features +++ b/boards/slwstk6000b/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/slwstk6220a/Makefile.features b/boards/slwstk6220a/Makefile.features index c41c24377f..dfdf8fbb40 100644 --- a/boards/slwstk6220a/Makefile.features +++ b/boards/slwstk6220a/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/sodaq-autonomo/Makefile.features b/boards/sodaq-autonomo/Makefile.features index 32b5b21864..fd41847217 100644 --- a/boards/sodaq-autonomo/Makefile.features +++ b/boards/sodaq-autonomo/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/sodaq-explorer/Makefile.features b/boards/sodaq-explorer/Makefile.features index 62ad960d64..ac19af1554 100644 --- a/boards/sodaq-explorer/Makefile.features +++ b/boards/sodaq-explorer/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/sodaq-one/Makefile.features b/boards/sodaq-one/Makefile.features index 62ad960d64..ac19af1554 100644 --- a/boards/sodaq-one/Makefile.features +++ b/boards/sodaq-one/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_rtt diff --git a/boards/spark-core/Makefile.features b/boards/spark-core/Makefile.features index ba74688d78..c9f7dde1bd 100644 --- a/boards/spark-core/Makefile.features +++ b/boards/spark-core/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_uart diff --git a/boards/stk3600/Makefile.features b/boards/stk3600/Makefile.features index bff358e352..793223669c 100644 --- a/boards/stk3600/Makefile.features +++ b/boards/stk3600/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/stk3700/Makefile.features b/boards/stk3700/Makefile.features index bff358e352..793223669c 100644 --- a/boards/stk3700/Makefile.features +++ b/boards/stk3700/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/stm32f0discovery/Makefile.features b/boards/stm32f0discovery/Makefile.features index f386454d2c..91b62e7284 100644 --- a/boards/stm32f0discovery/Makefile.features +++ b/boards/stm32f0discovery/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/stm32f3discovery/Makefile.features b/boards/stm32f3discovery/Makefile.features index 3b099cd282..5803f8ab0e 100644 --- a/boards/stm32f3discovery/Makefile.features +++ b/boards/stm32f3discovery/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/stm32f429i-disc1/Makefile.features b/boards/stm32f429i-disc1/Makefile.features index 18f5eb4d2c..96a9e75f17 100644 --- a/boards/stm32f429i-disc1/Makefile.features +++ b/boards/stm32f429i-disc1/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/stm32f4discovery/Makefile.features b/boards/stm32f4discovery/Makefile.features index 12f4c8d496..90926217cf 100644 --- a/boards/stm32f4discovery/Makefile.features +++ b/boards/stm32f4discovery/Makefile.features @@ -1,7 +1,7 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_dac -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/stm32f769i-disco/Makefile.features b/boards/stm32f769i-disco/Makefile.features index 8114647370..3eb7c8002a 100644 --- a/boards/stm32f769i-disco/Makefile.features +++ b/boards/stm32f769i-disco/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/stm32l476g-disco/Makefile.features b/boards/stm32l476g-disco/Makefile.features index f7009e1600..b2d1b37ee9 100644 --- a/boards/stm32l476g-disco/Makefile.features +++ b/boards/stm32l476g-disco/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/telosb/Makefile.features b/boards/telosb/Makefile.features index e43796c32b..90d2ee7ac9 100644 --- a/boards/telosb/Makefile.features +++ b/boards/telosb/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/thingy52/Makefile.features b/boards/thingy52/Makefile.features index 76c1d4158f..689e988e5d 100644 --- a/boards/thingy52/Makefile.features +++ b/boards/thingy52/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/boards/ublox-c030-u201/Makefile.features b/boards/ublox-c030-u201/Makefile.features index 7771341e07..f886564c54 100644 --- a/boards/ublox-c030-u201/Makefile.features +++ b/boards/ublox-c030-u201/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtc FEATURES_PROVIDED += periph_spi diff --git a/boards/waspmote-pro/Makefile.features b/boards/waspmote-pro/Makefile.features index abcd9925d9..a218794beb 100644 --- a/boards/waspmote-pro/Makefile.features +++ b/boards/waspmote-pro/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer diff --git a/boards/yunjia-nrf51822/Makefile.features b/boards/yunjia-nrf51822/Makefile.features index d6d2507b21..0a73e550b8 100644 --- a/boards/yunjia-nrf51822/Makefile.features +++ b/boards/yunjia-nrf51822/Makefile.features @@ -1,6 +1,6 @@ # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_rtt FEATURES_PROVIDED += periph_spi diff --git a/boards/z1/Makefile.features b/boards/z1/Makefile.features index e43796c32b..90d2ee7ac9 100644 --- a/boards/z1/Makefile.features +++ b/boards/z1/Makefile.features @@ -1,5 +1,5 @@ # Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart diff --git a/cpu/kinetis/Makefile.features b/cpu/kinetis/Makefile.features index d07c15f80b..8ebcde8bed 100644 --- a/cpu/kinetis/Makefile.features +++ b/cpu/kinetis/Makefile.features @@ -1,6 +1,7 @@ FEATURES_PROVIDED += periph_cpuid FEATURES_PROVIDED += periph_hwrng FEATURES_PROVIDED += periph_gpio +FEATURES_PROVIDED += periph_gpio_irq FEATURES_PROVIDED += periph_mcg include $(RIOTCPU)/cortexm_common/Makefile.features diff --git a/cpu/msp430fxyz/periph/gpio.c b/cpu/msp430fxyz/periph/gpio.c index e6682eb950..2c3ce70181 100644 --- a/cpu/msp430fxyz/periph/gpio.c +++ b/cpu/msp430fxyz/periph/gpio.c @@ -33,12 +33,6 @@ */ #define PINS_PER_PORT (8U) -/** - * @brief Interrupt context for each interrupt line - */ -static gpio_isr_ctx_t isr_ctx[ISR_NUMOF]; - - static msp_port_t *_port(gpio_t pin) { switch (pin >> 8) { @@ -59,6 +53,11 @@ static msp_port_t *_port(gpio_t pin) } } +static inline uint8_t _pin(gpio_t pin) +{ + return (uint8_t)(pin & 0xff); +} + static inline msp_port_isr_t *_isr_port(gpio_t pin) { msp_port_t *p = _port(pin); @@ -68,17 +67,6 @@ static inline msp_port_isr_t *_isr_port(gpio_t pin) return NULL; } -static inline uint8_t _pin(gpio_t pin) -{ - return (uint8_t)(pin & 0xff); -} - -static int _ctx(gpio_t pin) -{ - int i = bitarithm_lsb(_pin(pin)); - return (_port(pin) == PORT_1) ? i : (i + 8); -} - int gpio_init(gpio_t pin, gpio_mode_t mode) { msp_port_t *port = _port(pin); @@ -99,34 +87,6 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) return 0; } -int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, - gpio_cb_t cb, void *arg) -{ - msp_port_isr_t *port = _isr_port(pin); - - /* check if port, pull resistor and flank configuration are valid */ - if ((port == NULL) || (flank == GPIO_BOTH)) { - return -1; - } - - /* disable any activated interrupt */ - port->IE &= ~(_pin(pin)); - /* configure as input */ - if (gpio_init(pin, mode) < 0) { - return -1; - } - /* save ISR context */ - isr_ctx[_ctx(pin)].cb = cb; - isr_ctx[_ctx(pin)].arg = arg; - /* configure flank */ - port->IES &= ~(_pin(pin)); - port->IES |= (flank & _pin(pin)); - /* clear pending interrupts and enable the IRQ */ - port->IFG &= ~(_pin(pin)); - gpio_irq_enable(pin); - return 0; -} - void gpio_periph_mode(gpio_t pin, bool enable) { REG8 *sel; @@ -151,22 +111,6 @@ void gpio_periph_mode(gpio_t pin, bool enable) } } -void gpio_irq_enable(gpio_t pin) -{ - msp_port_isr_t *port = _isr_port(pin); - if (port) { - port->IE |= _pin(pin); - } -} - -void gpio_irq_disable(gpio_t pin) -{ - msp_port_isr_t *port = _isr_port(pin); - if (port) { - port->IE &= ~(_pin(pin)); - } -} - int gpio_read(gpio_t pin) { msp_port_t *port = _port(pin); @@ -203,6 +147,62 @@ void gpio_write(gpio_t pin, int value) } } +#ifdef MODULE_PERIPH_GPIO_IRQ +/** + * @brief Interrupt context for each interrupt line + */ +static gpio_isr_ctx_t isr_ctx[ISR_NUMOF]; + +static int _ctx(gpio_t pin) +{ + int i = bitarithm_lsb(_pin(pin)); + return (_port(pin) == PORT_1) ? i : (i + 8); +} + +int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, + gpio_cb_t cb, void *arg) +{ + msp_port_isr_t *port = _isr_port(pin); + + /* check if port, pull resistor and flank configuration are valid */ + if ((port == NULL) || (flank == GPIO_BOTH)) { + return -1; + } + + /* disable any activated interrupt */ + port->IE &= ~(_pin(pin)); + /* configure as input */ + if (gpio_init(pin, mode) < 0) { + return -1; + } + /* save ISR context */ + isr_ctx[_ctx(pin)].cb = cb; + isr_ctx[_ctx(pin)].arg = arg; + /* configure flank */ + port->IES &= ~(_pin(pin)); + port->IES |= (flank & _pin(pin)); + /* clear pending interrupts and enable the IRQ */ + port->IFG &= ~(_pin(pin)); + gpio_irq_enable(pin); + return 0; +} + +void gpio_irq_enable(gpio_t pin) +{ + msp_port_isr_t *port = _isr_port(pin); + if (port) { + port->IE |= _pin(pin); + } +} + +void gpio_irq_disable(gpio_t pin) +{ + msp_port_isr_t *port = _isr_port(pin); + if (port) { + port->IE &= ~(_pin(pin)); + } +} + static inline void isr_handler(msp_port_isr_t *port, int ctx) { for (unsigned i = 0; i < PINS_PER_PORT; i++) { @@ -226,3 +226,4 @@ ISR(PORT2_VECTOR, isr_port2) isr_handler((msp_port_isr_t *)PORT_2, 8); __exit_isr(); } +#endif /* MODULE_PERIPH_GPIO_IRQ */ diff --git a/drivers/Makefile.dep b/drivers/Makefile.dep index 556c471d22..a499944fa1 100644 --- a/drivers/Makefile.dep +++ b/drivers/Makefile.dep @@ -1,13 +1,13 @@ # driver dependencies (in alphabetical order) ifneq (,$(filter adc%1c,$(USEMODULE))) - FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_i2c USEMODULE += adcxx1c endif ifneq (,$(filter ads101%,$(USEMODULE))) - FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_i2c USEMODULE += ads101x USEMODULE += xtimer @@ -45,6 +45,7 @@ ifneq (,$(filter at86rf2%,$(USEMODULE))) USEMODULE += ieee802154 USEMODULE += netdev_ieee802154 FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi endif @@ -52,6 +53,7 @@ ifneq (,$(filter ata8520e,$(USEMODULE))) USEMODULE += xtimer USEMODULE += fmt FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi endif @@ -82,6 +84,8 @@ ifneq (,$(filter cc110x,$(USEMODULE))) ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) USEMODULE += gnrc_cc110x endif + FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi endif @@ -92,6 +96,7 @@ ifneq (,$(filter cc2420,$(USEMODULE))) USEMODULE += ieee802154 USEMODULE += netdev_ieee802154 FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi endif @@ -116,6 +121,7 @@ endif ifneq (,$(filter enc28j60,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi USEMODULE += netdev_eth USEMODULE += xtimer @@ -123,7 +129,7 @@ ifneq (,$(filter enc28j60,$(USEMODULE))) endif ifneq (,$(filter encx24j600,$(USEMODULE))) - FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi USEMODULE += netdev_eth USEMODULE += xtimer @@ -160,11 +166,6 @@ ifneq (,$(filter hdc1000,$(USEMODULE))) FEATURES_REQUIRED += periph_i2c endif -ifneq (,$(filter pulse_counter,$(USEMODULE))) - USEMODULE += xtimer - FEATURES_REQUIRED += periph_gpio -endif - ifneq (,$(filter hih6130,$(USEMODULE))) USEMODULE += xtimer FEATURES_REQUIRED += periph_i2c @@ -190,6 +191,7 @@ ifneq (,$(filter isl29020,$(USEMODULE))) endif ifneq (,$(filter isl29125,$(USEMODULE))) + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_i2c endif @@ -205,6 +207,7 @@ ifneq (,$(filter kw2xrf,$(USEMODULE))) USEMODULE += core_thread_flags FEATURES_REQUIRED += periph_spi FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq endif ifneq (,$(filter l3g4200d,$(USEMODULE))) @@ -213,7 +216,7 @@ endif ifneq (,$(filter lc709203f,$(USEMODULE))) FEATURES_REQUIRED += periph_i2c - FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq endif ifneq (,$(filter lis2dh12%,$(USEMODULE))) @@ -281,6 +284,7 @@ ifneq (,$(filter mrf24j40,$(USEMODULE))) USEMODULE += ieee802154 USEMODULE += netdev_ieee802154 FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi endif @@ -307,6 +311,7 @@ endif ifneq (,$(filter nrf24l01p,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi USEMODULE += xtimer endif @@ -325,9 +330,20 @@ endif ifneq (,$(filter pir,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq USEMODULE += xtimer endif +ifneq (,$(filter pn532,$(USEMODULE))) + FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq +endif + +ifneq (,$(filter pulse_counter,$(USEMODULE))) + USEMODULE += xtimer + FEATURES_REQUIRED += periph_gpio_irq +endif + ifneq (,$(filter rgbled,$(USEMODULE))) USEMODULE += color endif @@ -395,6 +411,7 @@ endif ifneq (,$(filter sx127%,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi USEMODULE += iolist USEMODULE += xtimer @@ -423,6 +440,7 @@ ifneq (,$(filter veml6070,$(USEMODULE))) endif ifneq (,$(filter w5100,$(USEMODULE))) + FEATURES_REQUIRED += periph_gpio_irq FEATURES_REQUIRED += periph_spi USEMODULE += netdev_eth USEMODULE += luid diff --git a/drivers/include/periph/gpio.h b/drivers/include/periph/gpio.h index 46c03ebc8f..253daa58c6 100644 --- a/drivers/include/periph/gpio.h +++ b/drivers/include/periph/gpio.h @@ -148,6 +148,7 @@ typedef struct { */ int gpio_init(gpio_t pin, gpio_mode_t mode); +#ifdef MODULE_PERIPH_GPIO_IRQ /** * @brief Initialize a GPIO pin for external interrupt usage * @@ -168,6 +169,8 @@ int gpio_init(gpio_t pin, gpio_mode_t mode); int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, gpio_cb_t cb, void *arg); +#endif /* MODULE_PERIPH_GPIO_IRQ */ + /** * @brief Enable pin interrupt if configured as interrupt source * diff --git a/drivers/lis3dh/lis3dh.c b/drivers/lis3dh/lis3dh.c index d376b4ae84..3a3538322f 100644 --- a/drivers/lis3dh/lis3dh.c +++ b/drivers/lis3dh/lis3dh.c @@ -20,7 +20,6 @@ #include #include -#include "periph/gpio.h" #include "periph/spi.h" #include "lis3dh.h" diff --git a/tests/buttons/Makefile b/tests/buttons/Makefile index d81df6d3c9..60c6acb35b 100644 --- a/tests/buttons/Makefile +++ b/tests/buttons/Makefile @@ -1,5 +1,6 @@ include ../Makefile.tests_common +FEATURES_REQUIRED += periph_gpio_irq USEMODULE += xtimer TEST_ON_CI_WHITELIST += all diff --git a/tests/driver_lis3dh/Makefile b/tests/driver_lis3dh/Makefile index d306856b67..9012607615 100644 --- a/tests/driver_lis3dh/Makefile +++ b/tests/driver_lis3dh/Makefile @@ -1,5 +1,6 @@ include ../Makefile.tests_common +FEATURES_REQUIRED += periph_gpio_irq USEMODULE += lis3dh USEMODULE += xtimer diff --git a/tests/periph_gpio/Makefile b/tests/periph_gpio/Makefile index 9d84fb1540..0f7a94789c 100644 --- a/tests/periph_gpio/Makefile +++ b/tests/periph_gpio/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common FEATURES_REQUIRED = periph_gpio +FEATURES_REQUIRED = periph_gpio_irq USEMODULE += shell USEMODULE += benchmark