From ac3c458e81467a1a80ab70eb87f7f9c166621805 Mon Sep 17 00:00:00 2001 From: Graham Sanderson Date: Thu, 3 Apr 2025 09:57:25 -0500 Subject: [PATCH] move irq_has_handler() so it can be used without shared handlers (#2383) --- src/rp2_common/hardware_irq/irq.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/rp2_common/hardware_irq/irq.c b/src/rp2_common/hardware_irq/irq.c index 9006b5d7..9b6f5ecd 100644 --- a/src/rp2_common/hardware_irq/irq.c +++ b/src/rp2_common/hardware_irq/irq.c @@ -196,12 +196,6 @@ static inline bool is_shared_irq_raw_handler(irq_handler_t raw_handler) { return (uintptr_t)raw_handler - (uintptr_t)irq_handler_chain_slots < sizeof(irq_handler_chain_slots); } -bool irq_has_handler(uint irq_num) { - check_irq_param(irq_num); - irq_handler_t handler = irq_get_vtable_handler(irq_num); - return handler && handler != __unhandled_user_irq; -} - bool irq_has_shared_handler(uint irq_num) { check_irq_param(irq_num); irq_handler_t handler = irq_get_vtable_handler(irq_num); @@ -223,12 +217,17 @@ bool irq_has_shared_handler(uint irq_num) { } #endif - irq_handler_t irq_get_vtable_handler(uint num) { check_irq_param(num); return get_vtable()[VTABLE_FIRST_IRQ + num]; } +bool irq_has_handler(uint irq_num) { + check_irq_param(irq_num); + irq_handler_t handler = irq_get_vtable_handler(irq_num); + return handler && handler != __unhandled_user_irq; +} + void irq_set_exclusive_handler(uint num, irq_handler_t handler) { check_irq_param(num); #if !PICO_NO_RAM_VECTOR_TABLE