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
intc_cavs.c
intc_cavs.h
intc_dw_ace.c
intc_dw.c
intc_dw.h
intc_eirq_nxp_s32.c
intc_esp32.c
intc_esp32c3.c
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
intc_gic_common_priv.h
intc_gic.c
intc_gicv3_its.c
intc_gicv3_priv.h
intc_gicv3.c drivers: gicv3: add zephyr kernel header file 2022-12-13 18:08:40 +09:00
intc_intel_vtd.c
intc_intel_vtd.h
intc_ioapic_priv.h
intc_ioapic.c
intc_irqmp.c
intc_ite_it8xxx2.c
intc_ite_it8xxx2.h
intc_loapic_spurious.S
intc_loapic.c
intc_mchp_ecia_xec.c
intc_miwu.c
intc_nuclei_eclic.c
intc_plic.c
intc_rv32m1_intmux.c
intc_sam0_eic_priv.h
intc_sam0_eic.c
intc_shared_irq.c
intc_swerv_pic.c
intc_system_apic.c
intc_vexriscv_litex.c
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
Kconfig.clic
Kconfig.dw
Kconfig.esp32
Kconfig.esp32c3
Kconfig.gd32_exti
Kconfig.gic
Kconfig.intel_vtd
Kconfig.it8xxx2
Kconfig.loapic
Kconfig.multilevel
Kconfig.multilevel.aggregator_template
Kconfig.npcx
Kconfig.nxp_s32
Kconfig.plic
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq
Kconfig.stm32 drivers: interrupt_controller: stm32: Generate irq_table and isr from dt 2023-01-19 17:20:48 +00:00
Kconfig.xec
Kconfig.xmc4xxx drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
wuc_ite_it8xxx2.c