From 61d0be7214b26e9dcbc99c7b39779569a91f4f01 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 17 Jun 2021 17:35:12 +0200 Subject: bsps/irq: Remove BSP_INTERRUPT_NO_HEAP_USAGE Remove the support for BSP_INTERRUPT_NO_HEAP_USAGE. This was only used by one BSP and provides no real benefit. Update #3269. --- bsps/include/bsp/irq-generic.h | 8 -------- bsps/powerpc/mpc55xxevb/include/bsp/irq.h | 1 - bsps/shared/irq/irq-generic.c | 34 +++---------------------------- 3 files changed, 3 insertions(+), 40 deletions(-) (limited to 'bsps') diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h index 4135aa518c..e888a66cea 100644 --- a/bsps/include/bsp/irq-generic.h +++ b/bsps/include/bsp/irq-generic.h @@ -66,10 +66,6 @@ extern "C" { #error "if you define BSP_INTERRUPT_USE_INDEX_TABLE, you have to define BSP_INTERRUPT_HANDLER_TABLE_SIZE etc. as well" #endif -#if defined(BSP_INTERRUPT_NO_HEAP_USAGE) && !defined(BSP_INTERRUPT_USE_INDEX_TABLE) - #error "if you define BSP_INTERRUPT_NO_HEAP_USAGE, you have to define BSP_INTERRUPT_USE_INDEX_TABLE etc. as well" -#endif - #define BSP_INTERRUPT_VECTOR_NUMBER \ (BSP_INTERRUPT_VECTOR_MAX - BSP_INTERRUPT_VECTOR_MIN + 1) @@ -150,10 +146,6 @@ static inline rtems_vector_number bsp_interrupt_handler_index( * table will be accessed via a small index table. You can define the size of * the handler table with @ref BSP_INTERRUPT_HANDLER_TABLE_SIZE. * - * Normally new list entries are allocated from the heap. You may define - * @ref BSP_INTERRUPT_NO_HEAP_USAGE, if you do not want to use the heap. For - * this option you have to define @ref BSP_INTERRUPT_USE_INDEX_TABLE as well. - * * You have to provide some special routines in your BSP (follow the links for * the details): * - bsp_interrupt_facility_initialize() diff --git a/bsps/powerpc/mpc55xxevb/include/bsp/irq.h b/bsps/powerpc/mpc55xxevb/include/bsp/irq.h index c923859dec..491c120ee8 100644 --- a/bsps/powerpc/mpc55xxevb/include/bsp/irq.h +++ b/bsps/powerpc/mpc55xxevb/include/bsp/irq.h @@ -483,7 +483,6 @@ rtems_status_code mpc55xx_intc_clear_software_irq(rtems_vector_number vector); #ifdef BSP_INTERRUPT_HANDLER_TABLE_SIZE #define BSP_INTERRUPT_USE_INDEX_TABLE - #define BSP_INTERRUPT_NO_HEAP_USAGE #endif /** @} */ diff --git a/bsps/shared/irq/irq-generic.c b/bsps/shared/irq/irq-generic.c index 1e83a6f249..abe732a9d3 100644 --- a/bsps/shared/irq/irq-generic.c +++ b/bsps/shared/irq/irq-generic.c @@ -142,34 +142,6 @@ static inline bool bsp_interrupt_allocate_handler_index( #endif } -static bsp_interrupt_handler_entry *bsp_interrupt_allocate_handler_entry(void) -{ - bsp_interrupt_handler_entry *e; - - #ifdef BSP_INTERRUPT_NO_HEAP_USAGE - rtems_vector_number index = 0; - - if (bsp_interrupt_allocate_handler_index(0, &index)) { - e = &bsp_interrupt_handler_table [index]; - } else { - e = NULL; - } - #else - e = rtems_malloc(sizeof(*e)); - #endif - - return e; -} - -static void bsp_interrupt_free_handler_entry(bsp_interrupt_handler_entry *e) -{ - #ifdef BSP_INTERRUPT_NO_HEAP_USAGE - bsp_interrupt_clear_handler_entry(e, 0); - #else - free(e); - #endif -} - void bsp_interrupt_initialize(void) { rtems_status_code sc = RTEMS_SUCCESSFUL; @@ -318,7 +290,7 @@ static rtems_status_code bsp_interrupt_handler_install( } /* Allocate a new entry */ - current = bsp_interrupt_allocate_handler_entry(); + current = rtems_malloc(sizeof(*current)); if (current == NULL) { /* Not enough memory */ bsp_interrupt_unlock(); @@ -433,7 +405,7 @@ static rtems_status_code bsp_interrupt_handler_remove( match->next = current->next; bsp_interrupt_enable(level); - bsp_interrupt_free_handler_entry(current); + free(current); } else if (match == head) { /* * The match is the list head and has no successor. @@ -465,7 +437,7 @@ static rtems_status_code bsp_interrupt_handler_remove( bsp_interrupt_fence(ATOMIC_ORDER_RELEASE); bsp_interrupt_enable(level); - bsp_interrupt_free_handler_entry(match); + free(match); } } else { /* No matching entry found */ -- cgit v1.2.3