zephyr/drivers/interrupt_controller
Erwan Gouriou d7631a60ec drivers: interrupt_controller: stm32: Generate irq_table and isr from dt
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>
2023-01-19 17:20:48 +00:00
..
CMakeLists.txt drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
intc_arcv2_irq_unit.c ARC: control shared (common) interrupts via IDU 2022-11-28 17:44:54 +01:00
intc_cavs.c smp: Convert #if to use CONFIG_MP_MAX_NUM_CPUS 2022-10-20 22:04:10 +09:00
intc_cavs.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
intc_dw.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_dw.h drivers: intc_dw: fixed misnumbered value of reserved slots in structure 2022-10-17 13:37:09 -04:00
intc_dw_ace.c smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS 2022-10-21 13:14:58 +02:00
intc_eirq_nxp_s32.c drivers: interrupt_controller: initial support for NXP S32Z27 EIRQ 2022-11-04 17:44:08 -04:00
intc_esp32.c interrupt_controller: intc_esp32: Convert CONFIG_MP_NUM_CPUS handling 2022-10-26 12:00:45 +02:00
intc_esp32c3.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
intc_exti_stm32.c drivers: interrupt_controller: stm32: Generate irq_table and isr from dt 2023-01-19 17:20:48 +00:00
intc_gd32_exti.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
intc_gic.c interrupt_controller: gic: Rework usage of CONFIG_MP_NUM_CPUS 2022-10-25 10:52:17 +02:00
intc_gic_common_priv.h drivers: gicv3: fix getting rdist base address 2021-04-26 13:42:43 +02:00
intc_gicv3.c drivers: gicv3: add zephyr kernel header file 2022-12-13 18:08:40 +09:00
intc_gicv3_its.c interrupt_controller: gic: Rework usage of CONFIG_MP_NUM_CPUS 2022-10-25 10:52:17 +02:00
intc_gicv3_priv.h drivers: intc_gicv3: fix gic_rdists[cpu] points to a wrong address 2022-09-09 16:36:37 +00:00
intc_intel_vtd.c drivers: remove redundant <zephyr/zephyr.h> includes 2022-06-15 09:13:11 +02:00
intc_intel_vtd.h drivers/interrupt_controller: Add VT-D context cache invalidation 2022-01-07 10:47:27 -05:00
intc_ioapic.c drivers: ioapic: fix the cast for the offset 2022-09-21 12:28:30 +02:00
intc_ioapic_priv.h drivers/interrupt_controller: Make IOAPIC VT-D aware when relevant 2022-01-07 10:47:27 -05:00
intc_irqmp.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
intc_ite_it8xxx2.c it8xxx2: intc: make sure IER disabling to take effect. 2022-09-27 10:05:09 +00:00
intc_ite_it8xxx2.h it8xxx2: generalize ILM support 2022-10-21 20:31:47 +02:00
intc_loapic.c drivers: Fix coding guidelines MISRAC:2012 Rule 14.4 do-whiles/Zero checks 2022-07-26 15:30:24 -04:00
intc_loapic_spurious.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
intc_mchp_ecia_xec.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_miwu.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_nuclei_eclic.c riscv: Introduce API for CLIC and PLIC 2022-07-11 14:31:39 +02:00
intc_plic.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_rv32m1_intmux.c devices: constify device pointers initialized at compile time 2022-08-22 17:08:26 +02:00
intc_sam0_eic.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
intc_sam0_eic_priv.h include: add missing errno.h include 2022-10-11 18:05:17 +02:00
intc_shared_irq.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_swerv_pic.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
intc_system_apic.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
intc_vexriscv_litex.c drivers: intc: litex: remove machine timer IRQ usage 2022-08-02 09:12:31 +02:00
intc_xmc4xxx.c drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
Kconfig drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
Kconfig.cavs drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.clic drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.dw drivers: intc_dw_ace: use CONFIG_DW_ICTL_ACE 2022-10-11 12:50:05 -04:00
Kconfig.esp32 drivers: ipm: esp32: added IPM driver 2022-08-16 18:06:02 +02:00
Kconfig.esp32c3 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.gd32_exti drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.gic drivers: gicv3: Introduce aff0 matching config for rdist 2022-09-21 15:21:29 +02:00
Kconfig.intel_vtd drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.it8xxx2 drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.loapic drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.multilevel kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.multilevel.aggregator_template license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
Kconfig.npcx drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.nxp_s32 arch: support nocache for Cortex-R52 2022-12-12 10:39:31 +01:00
Kconfig.plic drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.rv32m1 drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.sam0 drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.shared_irq drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.stm32 drivers: interrupt_controller: stm32: Generate irq_table and isr from dt 2023-01-19 17:20:48 +00:00
Kconfig.xec drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.xmc4xxx drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
wuc_ite_it8xxx2.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00