diff --git a/arch/nios2/core/irq_manage.c b/arch/nios2/core/irq_manage.c index 02949ccf0a3..87a8ed42936 100644 --- a/arch/nios2/core/irq_manage.c +++ b/arch/nios2/core/irq_manage.c @@ -69,22 +69,6 @@ void _arch_irq_disable(unsigned int irq) }; -int _arch_irq_connect_dynamic(unsigned int irq, - unsigned int priority, - void (*routine)(void *parameter), - void *parameter, - uint32_t flags) -{ - ARG_UNUSED(irq); - ARG_UNUSED(priority); - ARG_UNUSED(routine); - ARG_UNUSED(parameter); - ARG_UNUSED(flags); - - /* STUB. May never implement this, part of a deprecated API */ - return -1; -}; - /** * @brief Interrupt demux function * diff --git a/doc/porting/arch.rst b/doc/porting/arch.rst index ce2ff4ed4be..1b47ef60159 100644 --- a/doc/porting/arch.rst +++ b/doc/porting/arch.rst @@ -149,9 +149,7 @@ Each architecture also has to implement primitives for interrupt control: .. note:: - Zephyr currently supports for connecting interrupts dynamically, i.e. at - runtime using :c:func:`irq_connect_dynamic`: this is getting deprecated. - :c:macro:`irq_connect` is a macro that uses assembler and/or linker script + :c:macro:`IRQ_CONNECT` is a macro that uses assembler and/or linker script tricks to connect interrupts at build time, saving boot time and text size. The vector table should contain a handler for each interrupt and exception that diff --git a/drivers/interrupt_controller/ioapic_intr.c b/drivers/interrupt_controller/ioapic_intr.c index 974f3aefd9a..c7052545841 100644 --- a/drivers/interrupt_controller/ioapic_intr.c +++ b/drivers/interrupt_controller/ioapic_intr.c @@ -124,15 +124,6 @@ int _ioapic_init(struct device *unused) * * ((__IoApicGet(IOAPIC_VERS) & IOAPIC_MRE_MASK) >> 16) + 1 */ - - /* - * Initialize the redirection table entries with default settings; - * actual interrupt vectors are specified during irq_connect_dynamic(). - * - * A future enhancement should make this initialization "table driven": - * use data provided by the platform to specify the initial state - */ - rteValue = IOAPIC_EDGE | IOAPIC_HIGH | IOAPIC_FIXED | IOAPIC_INT_MASK | IOAPIC_PHYSICAL | 0 /* dummy vector */; diff --git a/drivers/interrupt_controller/loapic_intr.c b/drivers/interrupt_controller/loapic_intr.c index 661aaf442b5..7dc1d53fd66 100644 --- a/drivers/interrupt_controller/loapic_intr.c +++ b/drivers/interrupt_controller/loapic_intr.c @@ -285,10 +285,7 @@ static int _loapic_init(struct device *unused) * * @brief Set the vector field in the specified RTE * - * This routine is utilized by the interrupt controller's - * _interrupt_vector_allocate() routine (which exists to support the - * irq_connect_dynamic() API). Once a vector has been allocated, this routine - * is invoked to update the LVT entry associated with with the vector. + * This associates an IRQ with the desired vector in the IDT. * * @return N/A */ diff --git a/include/arch/arc/arch.h b/include/arch/arc/arch.h index b69c5f6e3c0..e503690d169 100644 --- a/include/arch/arc/arch.h +++ b/include/arch/arc/arch.h @@ -64,8 +64,7 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, /** * Configure a static interrupt. * - * All arguments must be computable by the compiler at build time; if this - * can't be done use irq_connect_dynamic() instead. + * All arguments must be computable by the compiler at build time. * * Internally this function does a few things: * diff --git a/include/arch/arm/cortex_m/irq.h b/include/arch/arm/cortex_m/irq.h index 6019bda238e..13bd043c484 100644 --- a/include/arch/arm/cortex_m/irq.h +++ b/include/arch/arm/cortex_m/irq.h @@ -57,7 +57,7 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags); -/* Flags for use with IRQ_CONNECT() or irq_connect_dynamic() */ +/* Flags for use with IRQ_CONNECT() */ #if CONFIG_ZERO_LATENCY_IRQS /** * Set this interrupt up as a zero-latency IRQ. It has a fixed hardware @@ -71,8 +71,7 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, /** * Configure a static interrupt. * - * All arguments must be computable by the compiler at build time; if this - * can't be done use irq_connect_dynamic() instead. + * All arguments must be computable by the compiler at build time. * * Internally this function does a few things: * diff --git a/include/arch/nios2/arch.h b/include/arch/nios2/arch.h index 19737ff4ad4..7a98c1524da 100644 --- a/include/arch/nios2/arch.h +++ b/include/arch/nios2/arch.h @@ -57,8 +57,7 @@ typedef unsigned int vaddr_t; /** * Configure a static interrupt. * - * All arguments must be computable by the compiler at build time; if this - * can't be done use irq_connect_dynamic() instead. + * All arguments must be computable by the compiler at build time. * * Internally this function does a few things: * @@ -133,9 +132,6 @@ static ALWAYS_INLINE void _arch_irq_unlock(unsigned int key) #endif } -int _arch_irq_connect_dynamic(unsigned int irq, unsigned int priority, - void (*routine)(void *parameter), void *parameter, - uint32_t flags); void _arch_irq_enable(unsigned int irq); void _arch_irq_disable(unsigned int irq); diff --git a/include/arch/x86/arch.h b/include/arch/x86/arch.h index 2988e73fa2c..595dd2cdea1 100644 --- a/include/arch/x86/arch.h +++ b/include/arch/x86/arch.h @@ -163,8 +163,7 @@ typedef struct s_isrList { /** * Configure a static interrupt. * - * All arguments must be computable by the compiler at build time; if this - * can't be done use irq_connect_dynamic() instead. + * All arguments must be computable by the compiler at build time. * * Internally this function does a few things: *