d7631a60ec
This change takes advantage of line information coming from new properties to simplify exti_irq_table definition and isr routing related code. All __stm32_exti_isr_x routing functions are removed and instead, stm32_exti_isr is now taking a exti_range structure which provides, for each irq, start line and range length. This argument is provided by IRQ_CONNECT macro instead of previous dev info (which is constant and doesn't need to be provided as argument). line_range_x variables are generated at driver init thanks to a mix of dt magic and runtime implementation: DT_FOREACH_PROP_ELEM iterates over each irq line (counted as interrupt-names property) call a macro which instantiates populated line_range_x variables, and calls IRQ_CONNECT for each IRQ. Additionally, at each iteration stm32_fill_irq_table() is called to fill exti_irq_table. Since not required anymore, Kconfig symbols EXTI_STM32_EXTIX_Y_IRQ_PRI are removed. IRQ prio is now supposed to be configured in device tree. Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
16 lines
359 B
Plaintext
16 lines
359 B
Plaintext
# STM32 EXTI configuration
|
|
|
|
# Copyright (c) 2016 Open-RnD Sp. z o.o.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
if SOC_FAMILY_STM32
|
|
|
|
config EXTI_STM32
|
|
bool "External Interrupt/Event Controller (EXTI) Driver for STM32 family of MCUs"
|
|
default y
|
|
depends on DT_HAS_ST_STM32_EXTI_ENABLED
|
|
help
|
|
Enable EXTI driver for STM32 line of MCUs
|
|
|
|
endif # SOC_FAMILY_STM32
|