[PATCH] bsps/irq: bsp_interrupt_facility_initialize()

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Jul 27 08:03:30 UTC 2021


Do not return a status code in bsp_interrupt_facility_initialize() since this
leads to unreachable code in bsp_interrupt_initialize().  Use RTEMS_DEBUG
assertions in bsp_interrupt_facility_initialize() if necessary.
---
 bsps/arm/beagle/irq/irq.c                 |  4 +--
 bsps/arm/csb336/irq/irq.c                 |  5 +---
 bsps/arm/csb337/irq/irq.c                 |  4 +--
 bsps/arm/edb7312/irq/irq.c                |  4 +--
 bsps/arm/gumstix/irq/irq.c                |  4 +--
 bsps/arm/lpc24xx/irq/irq.c                |  4 +--
 bsps/arm/lpc32xx/irq/irq.c                |  4 +--
 bsps/arm/raspberrypi/irq/irq.c            |  3 +--
 bsps/arm/rtl22xx/irq/irq.c                |  4 +--
 bsps/arm/shared/irq/irq-armv7m.c          |  4 +--
 bsps/arm/smdk2410/irq/irq.c               |  4 +--
 bsps/arm/tms570/irq/irq.c                 |  4 +--
 bsps/i386/shared/irq/irq.c                |  4 +--
 bsps/include/bsp/irq-generic.h            |  4 +--
 bsps/lm32/shared/irq/irq.c                |  4 +--
 bsps/mips/shared/irq/irq.c                |  3 +--
 bsps/powerpc/gen5200/irq/irq.c            | 16 ++++++------
 bsps/powerpc/gen83xx/irq/irq.c            | 30 ++++++++++-------------
 bsps/powerpc/mpc55xxevb/start/irq.c       |  4 +--
 bsps/powerpc/mpc8260ads/irq/irq.c         | 16 ++++++------
 bsps/powerpc/psim/irq/irq_init.c          | 11 ++++-----
 bsps/powerpc/qemuppc/irq/irq_init.c       | 11 ++++-----
 bsps/powerpc/qoriq/irq/irq.c              |  6 ++---
 bsps/powerpc/shared/irq/ppc-irq-generic.c |  3 +--
 bsps/powerpc/t32mppc/irq/irq.c            |  4 +--
 bsps/powerpc/tqm8xx/irq/irq.c             | 28 +++++++++++----------
 bsps/powerpc/virtex/irq/irq_init.c        |  9 ++++---
 bsps/riscv/griscv/irq/irq.c               |  4 +--
 bsps/riscv/riscv/irq/irq.c                |  4 +--
 bsps/shared/dev/irq/arm-gicv2.c           |  3 +--
 bsps/shared/dev/irq/arm-gicv3.c           |  3 +--
 bsps/shared/irq/irq-default.c             |  4 +--
 bsps/shared/irq/irq-generic.c             |  8 +-----
 bsps/sparc/leon3/start/eirq.c             |  4 +--
 bsps/sparc/shared/irq/irq-shared.c        |  3 +--
 bsps/x86_64/amd64/interrupts/idt.c        |  4 +--
 36 files changed, 90 insertions(+), 148 deletions(-)

diff --git a/bsps/arm/beagle/irq/irq.c b/bsps/arm/beagle/irq/irq.c
index d892299fbe..29a4e391e8 100644
--- a/bsps/arm/beagle/irq/irq.c
+++ b/bsps/arm/beagle/irq/irq.c
@@ -163,7 +163,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   int i;
   uint32_t intc_ilrx;
@@ -183,6 +183,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   /* Install generic interrupt handler */
   arm_cp15_set_exception_handler(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt);
   arm_cp15_set_vector_base_address(bsp_vector_table_begin);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/csb336/irq/irq.c b/bsps/arm/csb336/irq/irq.c
index 266ca0113f..24a5a9eb57 100644
--- a/bsps/arm/csb336/irq/irq.c
+++ b/bsps/arm/csb336/irq/irq.c
@@ -88,10 +88,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/csb337/irq/irq.c b/bsps/arm/csb337/irq/irq.c
index 32f19c7000..19796b0380 100644
--- a/bsps/arm/csb337/irq/irq.c
+++ b/bsps/arm/csb337/irq/irq.c
@@ -83,7 +83,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   unsigned long i = 0;
 
@@ -95,6 +95,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   AIC_CTL_REG(AIC_IDCR) = 0xffffffff;
 
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/edb7312/irq/irq.c b/bsps/arm/edb7312/irq/irq.c
index e039e119e5..d18b7ae197 100644
--- a/bsps/arm/edb7312/irq/irq.c
+++ b/bsps/arm/edb7312/irq/irq.c
@@ -125,7 +125,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
     return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   uint32_t int_stat = 0;
 
@@ -221,6 +221,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   int_stat = *EP7312_INTSR3;
 
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/gumstix/irq/irq.c b/bsps/arm/gumstix/irq/irq.c
index e0f16e17e0..a91bc37971 100644
--- a/bsps/arm/gumstix/irq/irq.c
+++ b/bsps/arm/gumstix/irq/irq.c
@@ -80,7 +80,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   /* disable all interrupts */
   XSCALE_INT_ICMR = 0x0;
@@ -90,6 +90,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 
   /* Install the IRQ exception handler */
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/lpc24xx/irq/irq.c b/bsps/arm/lpc24xx/irq/irq.c
index a851db8a7f..ac0ef7c7cb 100644
--- a/bsps/arm/lpc24xx/irq/irq.c
+++ b/bsps/arm/lpc24xx/irq/irq.c
@@ -120,7 +120,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   volatile uint32_t *addr = VICVectAddrBase;
   volatile uint32_t *prio = VICVectPriorityBase;
@@ -157,8 +157,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 
   /* Install the IRQ exception handler */
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
 
 #endif /* ARM_MULTILIB_ARCH_V4 */
diff --git a/bsps/arm/lpc32xx/irq/irq.c b/bsps/arm/lpc32xx/irq/irq.c
index f08d4fe9fb..368ecb906c 100644
--- a/bsps/arm/lpc32xx/irq/irq.c
+++ b/bsps/arm/lpc32xx/irq/irq.c
@@ -347,7 +347,7 @@ void lpc32xx_set_exception_handler(
   }
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   size_t i = 0;
 
@@ -385,6 +385,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   lpc32xx.sic_2.atr = 0x0;
 
   lpc32xx_set_exception_handler(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/raspberrypi/irq/irq.c b/bsps/arm/raspberrypi/irq/irq.c
index bd98689087..f3a6528a34 100644
--- a/bsps/arm/raspberrypi/irq/irq.c
+++ b/bsps/arm/raspberrypi/irq/irq.c
@@ -217,11 +217,10 @@ void bsp_interrupt_handler_default(rtems_vector_number vector)
     printk("spurious interrupt: %" PRIdrtems_vector_number "\n", vector);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
    BCM2835_REG(BCM2835_IRQ_DISABLE1) = 0xffffffff;
    BCM2835_REG(BCM2835_IRQ_DISABLE2) = 0xffffffff;
    BCM2835_REG(BCM2835_IRQ_DISABLE_BASIC) = 0xffffffff;
    BCM2835_REG(BCM2835_IRQ_FIQ_CTRL) = 0;
-   return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/rtl22xx/irq/irq.c b/bsps/arm/rtl22xx/irq/irq.c
index fcfe6a66cf..ad9d33ed3e 100644
--- a/bsps/arm/rtl22xx/irq/irq.c
+++ b/bsps/arm/rtl22xx/irq/irq.c
@@ -82,7 +82,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   volatile uint32_t *ctrl = (volatile uint32_t *) VICVectCntlBase;
   size_t i = 0;
@@ -109,6 +109,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 
   /* Install the IRQ exception handler */
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/shared/irq/irq-armv7m.c b/bsps/arm/shared/irq/irq-armv7m.c
index 8a1fd75a32..2602340e65 100644
--- a/bsps/arm/shared/irq/irq-armv7m.c
+++ b/bsps/arm/shared/irq/irq-armv7m.c
@@ -94,7 +94,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   ARMV7M_Exception_handler *vector_table;
   int                       i;
@@ -118,8 +118,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   }
 
   _ARMV7M_SCB->vtor = vector_table;
-
-  return RTEMS_SUCCESSFUL;
 }
 
 #endif /* ARM_MULTILIB_ARCH_V7M */
diff --git a/bsps/arm/smdk2410/irq/irq.c b/bsps/arm/smdk2410/irq/irq.c
index a293dac5c2..1501a94c87 100644
--- a/bsps/arm/smdk2410/irq/irq.c
+++ b/bsps/arm/smdk2410/irq/irq.c
@@ -81,9 +81,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL);
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/arm/tms570/irq/irq.c b/bsps/arm/tms570/irq/irq.c
index e254d4e856..437c1ab27c 100644
--- a/bsps/arm/tms570/irq/irq.c
+++ b/bsps/arm/tms570/irq/irq.c
@@ -174,7 +174,7 @@ rtems_status_code bsp_interrupt_vector_disable(
  *
  * @retval RTEMS_SUCCESSFUL All is set
  */
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   void (**vim_vec)(void) = (void (**)(void)) 0xFFF82000;
   unsigned int value = 0x00010203;
@@ -241,6 +241,4 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
     sctlr |= 1 << 24;
   #endif
   asm volatile ("mcr p15, 0, %0, c1, c0, 0\n": : "r" (sctlr));
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/i386/shared/irq/irq.c b/bsps/i386/shared/irq/irq.c
index e6994d49c7..22bab64acf 100644
--- a/bsps/i386/shared/irq/irq.c
+++ b/bsps/i386/shared/irq/irq.c
@@ -326,7 +326,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   int i;
 
@@ -347,8 +347,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 
   for (i = 0; i < BSP_IRQ_LINES_NUMBER; i++)
     irq_trigger[i] = elcr_read_trigger(i);
-
-  return RTEMS_SUCCESSFUL;
 }
 
 static bool bsp_interrupt_handler_is_empty(rtems_vector_number vector)
diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h
index e27c1b230c..fa1343a990 100644
--- a/bsps/include/bsp/irq-generic.h
+++ b/bsps/include/bsp/irq-generic.h
@@ -202,10 +202,8 @@ void bsp_interrupt_initialize(void);
  * The vectors will be enabled with your bsp_interrupt_vector_enable() function
  * and disabled via your bsp_interrupt_vector_disable() function.  These
  * functions have to work afterwards.
- *
- * @return On success RTEMS_SUCCESSFUL shall be returned.
  */
-rtems_status_code bsp_interrupt_facility_initialize(void);
+void bsp_interrupt_facility_initialize(void);
 
 /**
  * @brief Gets the attributes of the interrupt vector.
diff --git a/bsps/lm32/shared/irq/irq.c b/bsps/lm32/shared/irq/irq.c
index b65c796d43..4a7f9bd444 100644
--- a/bsps/lm32/shared/irq/irq.c
+++ b/bsps/lm32/shared/irq/irq.c
@@ -12,9 +12,9 @@
 #include <bsp/irq.h>
 #include <bsp/irq-generic.h>
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-  return RTEMS_SUCCESSFUL;
+  /* Nothing to do */
 }
 
 rtems_status_code bsp_interrupt_get_attributes(
diff --git a/bsps/mips/shared/irq/irq.c b/bsps/mips/shared/irq/irq.c
index 70abb2e252..57816bd971 100644
--- a/bsps/mips/shared/irq/irq.c
+++ b/bsps/mips/shared/irq/irq.c
@@ -121,10 +121,9 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   mips_install_isr_entries();
-  return RTEMS_SUCCESSFUL;
 }
 
 void bsp_interrupt_handler_default(rtems_vector_number vector)
diff --git a/bsps/powerpc/gen5200/irq/irq.c b/bsps/powerpc/gen5200/irq/irq.c
index 9cf78f6a80..4ae79e58a9 100644
--- a/bsps/powerpc/gen5200/irq/irq.c
+++ b/bsps/powerpc/gen5200/irq/irq.c
@@ -745,19 +745,17 @@ static void BSP_SIU_irq_init( void)
   setup_irqMaskTable();
 }
 
-rtems_status_code bsp_interrupt_facility_initialize( void)
+void bsp_interrupt_facility_initialize( void)
 {
+  rtems_status_code sc;
+
   BSP_SIU_irq_init();
 
   /* Install exception handler */
-  if (ppc_exc_set_handler( ASM_EXT_VECTOR, C_dispatch_irq_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-  if (ppc_exc_set_handler( ASM_E300_SYSMGMT_VECTOR, C_dispatch_irq_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-
-  return RTEMS_SUCCESSFUL;
+  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, C_dispatch_irq_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
+  sc = ppc_exc_set_handler( ASM_E300_SYSMGMT_VECTOR, C_dispatch_irq_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
 }
 
 void bsp_interrupt_handler_default( rtems_vector_number vector)
diff --git a/bsps/powerpc/gen83xx/irq/irq.c b/bsps/powerpc/gen83xx/irq/irq.c
index 358c2698a2..4ebea21c60 100644
--- a/bsps/powerpc/gen83xx/irq/irq.c
+++ b/bsps/powerpc/gen83xx/irq/irq.c
@@ -548,20 +548,17 @@ static int BSP_irq_handle_at_ipic( unsigned excNum)
  * Fill the array mpc83xx_ipic_prio2mask to allow masking of lower prio sources
  * to implement nested interrupts.
  */
-static rtems_status_code mpc83xx_ipic_calc_prio2mask(void)
+static void mpc83xx_ipic_calc_prio2mask(void)
 {
-  rtems_status_code rc = RTEMS_SUCCESSFUL;
-
   /*
    * FIXME: fill the array
    */
-  return rc;
 }
 
 /*
  * Activate the interrupt controller
  */
-static rtems_status_code mpc83xx_ipic_initialize(void)
+static void mpc83xx_ipic_initialize(void)
 {
   /*
    * mask off all interrupts
@@ -613,7 +610,7 @@ static rtems_status_code mpc83xx_ipic_initialize(void)
   /*
    * calculate priority masks
    */
-  return mpc83xx_ipic_calc_prio2mask();
+  mpc83xx_ipic_calc_prio2mask();
 }
 
 static int mpc83xx_exception_handler(
@@ -624,19 +621,18 @@ static int mpc83xx_exception_handler(
   return BSP_irq_handle_at_ipic( exception_number);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize()
+void bsp_interrupt_facility_initialize()
 {
+  rtems_status_code sc;
+
   /* Install exception handler */
-  if (ppc_exc_set_handler( ASM_EXT_VECTOR, mpc83xx_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-  if (ppc_exc_set_handler( ASM_E300_SYSMGMT_VECTOR, mpc83xx_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-  if (ppc_exc_set_handler( ASM_E300_CRIT_VECTOR, mpc83xx_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
+  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, mpc83xx_exception_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
+  sc = ppc_exc_set_handler( ASM_E300_SYSMGMT_VECTOR, mpc83xx_exception_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
+  sc = ppc_exc_set_handler( ASM_E300_CRIT_VECTOR, mpc83xx_exception_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
 
   /* Initialize the interrupt controller */
-  return mpc83xx_ipic_initialize();
+  mpc83xx_ipic_initialize();
 }
diff --git a/bsps/powerpc/mpc55xxevb/start/irq.c b/bsps/powerpc/mpc55xxevb/start/irq.c
index a4bf712af4..5dee6d74c7 100644
--- a/bsps/powerpc/mpc55xxevb/start/irq.c
+++ b/bsps/powerpc/mpc55xxevb/start/irq.c
@@ -131,7 +131,7 @@ void bsp_interrupt_dispatch(uintptr_t exception_number)
 	INTC.EOIR.R = 1;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
 	rtems_vector_number vector;
 
@@ -148,8 +148,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 
 	/* Set current priority to 0 */
 	INTC.CPR.B.PRI = 0;
-
-	return RTEMS_SUCCESSFUL;
 }
 
 rtems_status_code bsp_interrupt_get_attributes(
diff --git a/bsps/powerpc/mpc8260ads/irq/irq.c b/bsps/powerpc/mpc8260ads/irq/irq.c
index 9b73979efa..70cb5acf9b 100644
--- a/bsps/powerpc/mpc8260ads/irq/irq.c
+++ b/bsps/powerpc/mpc8260ads/irq/irq.c
@@ -398,21 +398,19 @@ rtems_status_code bsp_interrupt_vector_disable( rtems_vector_number irqnum)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize()
+void bsp_interrupt_facility_initialize()
 {
+  rtems_status_code sc;
+
   /* Install exception handler */
-  if (ppc_exc_set_handler( ASM_EXT_VECTOR, C_dispatch_irq_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-  if (ppc_exc_set_handler( ASM_DEC_VECTOR, C_dispatch_irq_handler)) {
-    return RTEMS_IO_ERROR;
-  }
+  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, C_dispatch_irq_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
+  sc = ppc_exc_set_handler( ASM_DEC_VECTOR, C_dispatch_irq_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
 
   /* Fill in priority masks */
   compute_SIU_IvectMask_from_prio();
 
   /* Initialize the interrupt controller */
   BSP_CPM_irq_init();
-
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/powerpc/psim/irq/irq_init.c b/bsps/powerpc/psim/irq/irq_init.c
index 97eb00890d..16c30e714d 100644
--- a/bsps/powerpc/psim/irq/irq_init.c
+++ b/bsps/powerpc/psim/irq/irq_init.c
@@ -158,12 +158,11 @@ rtems_status_code bsp_interrupt_vector_disable( rtems_vector_number irqnum)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
+  rtems_status_code sc;
+
   /* Install exception handler */
-  if (ppc_exc_set_handler( ASM_EXT_VECTOR, psim_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
-  
-  return RTEMS_SUCCESSFUL;
+  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, psim_exception_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
 }
diff --git a/bsps/powerpc/qemuppc/irq/irq_init.c b/bsps/powerpc/qemuppc/irq/irq_init.c
index 5990785fd1..cd85b06c47 100644
--- a/bsps/powerpc/qemuppc/irq/irq_init.c
+++ b/bsps/powerpc/qemuppc/irq/irq_init.c
@@ -94,12 +94,11 @@ rtems_status_code bsp_interrupt_vector_disable( rtems_vector_number irqnum)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-  /* Install exception handler */
-  if (ppc_exc_set_handler( ASM_EXT_VECTOR, qemuppc_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
+  rtems_status_code sc;
 
-  return RTEMS_SUCCESSFUL;
+  /* Install exception handler */
+  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, qemuppc_exception_handler);
+  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
 }
diff --git a/bsps/powerpc/qoriq/irq/irq.c b/bsps/powerpc/qoriq/irq/irq.c
index 71a932863d..01e24998ba 100644
--- a/bsps/powerpc/qoriq/irq/irq.c
+++ b/bsps/powerpc/qoriq/irq/irq.c
@@ -181,7 +181,7 @@ void bsp_interrupt_dispatch(uintptr_t exception_number)
 	}
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
 	unsigned int i;
 
@@ -458,7 +458,7 @@ static void pic_global_timer_init(void)
 	}
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
 	rtems_vector_number i = 0;
 	uint32_t processor_id = ppc_processor_id();
@@ -494,8 +494,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
 		qoriq.pic.eoi = 0;
 		qoriq.pic.whoami;
 	}
-
-	return RTEMS_SUCCESSFUL;
 }
 
 #endif /* QORIQ_IS_HYPERVISOR_GUEST */
diff --git a/bsps/powerpc/shared/irq/ppc-irq-generic.c b/bsps/powerpc/shared/irq/ppc-irq-generic.c
index 729e92d688..f4b85f7bc0 100644
--- a/bsps/powerpc/shared/irq/ppc-irq-generic.c
+++ b/bsps/powerpc/shared/irq/ppc-irq-generic.c
@@ -151,11 +151,10 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   /*
    * Initialize RTEMS IRQ system
    */
   BSP_rtems_irq_mng_init(0);
-  return RTEMS_SUCCESSFUL;
 }
diff --git a/bsps/powerpc/t32mppc/irq/irq.c b/bsps/powerpc/t32mppc/irq/irq.c
index 30ecfe54d7..bbf97d25b1 100644
--- a/bsps/powerpc/t32mppc/irq/irq.c
+++ b/bsps/powerpc/t32mppc/irq/irq.c
@@ -79,7 +79,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
 	return RTEMS_SUCCESSFUL;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-	return RTEMS_SUCCESSFUL;
+	/* Nothing to do */
 }
diff --git a/bsps/powerpc/tqm8xx/irq/irq.c b/bsps/powerpc/tqm8xx/irq/irq.c
index 42517504b7..1c405037a3 100644
--- a/bsps/powerpc/tqm8xx/irq/irq.c
+++ b/bsps/powerpc/tqm8xx/irq/irq.c
@@ -226,8 +226,10 @@ static int BSP_irq_handle_at_siu( unsigned excNum)
 /*
  * Activate the CPIC
  */
-static rtems_status_code mpc8xx_cpic_initialize( void)
+static void mpc8xx_cpic_initialize( void)
 {
+  rtems_status_code sc;
+
   /*
    * mask off all interrupts
    */
@@ -240,20 +242,19 @@ static rtems_status_code mpc8xx_cpic_initialize( void)
   /*
    * enable CPIC interrupt in SIU interrupt controller
    */
-  return bsp_irq_enable_at_SIU(BSP_CPM_INTERRUPT);
+  sc = bsp_irq_enable_at_SIU(BSP_CPM_INTERRUPT);
+  _Assert_Unused_variable_equals(sc, RTEMS_SUCCESSFUL);
 }
 
 /*
  * Activate the SIU interrupt controller
  */
-static rtems_status_code mpc8xx_siu_int_initialize( void)
+static void mpc8xx_siu_int_initialize( void)
 {
   /*
    * mask off all interrupts
    */
   m8xx.simask = 0;
-
-  return RTEMS_SUCCESSFUL;
 }
 
 static int mpc8xx_exception_handler(BSP_Exception_frame *frame,
@@ -262,16 +263,17 @@ static int mpc8xx_exception_handler(BSP_Exception_frame *frame,
   return BSP_irq_handle_at_siu(exception_number);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize()
+void bsp_interrupt_facility_initialize()
 {
+  rtems_status_code sc;
+
   /* Install exception handler */
-  if (ppc_exc_set_handler(ASM_EXT_VECTOR, mpc8xx_exception_handler)) {
-    return RTEMS_IO_ERROR;
-  }
+  sc = ppc_exc_set_handler(ASM_EXT_VECTOR, mpc8xx_exception_handler);
+  _Assert_Unused_variable_equals(sc, RTEMS_SUCCESSFUL);
+
   /* Initialize the SIU interrupt controller */
-  if (mpc8xx_siu_int_initialize()) {
-    return RTEMS_IO_ERROR;
-  }
+  mpc8xx_siu_int_initialize();
+
   /* Initialize the CPIC interrupt controller */
-  return mpc8xx_cpic_initialize();
+  mpc8xx_cpic_initialize();
 }
diff --git a/bsps/powerpc/virtex/irq/irq_init.c b/bsps/powerpc/virtex/irq/irq_init.c
index 031e59cf9e..e18df51594 100644
--- a/bsps/powerpc/virtex/irq/irq_init.c
+++ b/bsps/powerpc/virtex/irq/irq_init.c
@@ -203,11 +203,12 @@ static int C_dispatch_irq_handler(BSP_Exception_frame *frame, unsigned int excNu
   return 0;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-  opb_intc_init();
+  rtems_status_code sc;
 
-  ppc_exc_set_handler(ASM_EXT_VECTOR, C_dispatch_irq_handler);
+  opb_intc_init();
 
-  return RTEMS_SUCCESSFUL;
+  sc = ppc_exc_set_handler(ASM_EXT_VECTOR, C_dispatch_irq_handler);
+  _Assert_Unused_variable_equals(sc, RTEMS_SUCCESSFUL);
 }
diff --git a/bsps/riscv/griscv/irq/irq.c b/bsps/riscv/griscv/irq/irq.c
index 3f1c75dc8e..ea19797565 100644
--- a/bsps/riscv/griscv/irq/irq.c
+++ b/bsps/riscv/griscv/irq/irq.c
@@ -75,7 +75,7 @@ void _RISCV_Interrupt_dispatch(uintptr_t mcause, Per_CPU_Control *cpu_self)
   }
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
 
   /*
@@ -83,8 +83,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
    * bsp_start_on_secondary_processor().
    */
   set_csr(mie, MIP_MEIP);
-
-  return RTEMS_SUCCESSFUL;
 }
 
 rtems_status_code bsp_interrupt_get_attributes(
diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c
index eff0de7156..1b632289a6 100644
--- a/bsps/riscv/riscv/irq/irq.c
+++ b/bsps/riscv/riscv/irq/irq.c
@@ -215,15 +215,13 @@ static void riscv_plic_init(const void *fdt)
   set_csr(mie, MIP_MEIP);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   const void *fdt;
 
   fdt = bsp_fdt_get();
   riscv_clint_init(fdt);
   riscv_plic_init(fdt);
-
-  return RTEMS_SUCCESSFUL;
 }
 
 rtems_status_code bsp_interrupt_get_attributes(
diff --git a/bsps/shared/dev/irq/arm-gicv2.c b/bsps/shared/dev/irq/arm-gicv2.c
index eaae6124e8..9c47a4d47b 100644
--- a/bsps/shared/dev/irq/arm-gicv2.c
+++ b/bsps/shared/dev/irq/arm-gicv2.c
@@ -208,7 +208,7 @@ static void enable_fiq(void)
 #endif
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   volatile gic_cpuif *cpuif = GIC_CPUIF;
   volatile gic_dist *dist = ARM_GIC_DIST;
@@ -239,7 +239,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   dist->icddcr = GIC_DIST_ICDDCR_ENABLE_GRP_1 | GIC_DIST_ICDDCR_ENABLE;
 
   enable_fiq();
-  return RTEMS_SUCCESSFUL;
 }
 
 #ifdef RTEMS_SMP
diff --git a/bsps/shared/dev/irq/arm-gicv3.c b/bsps/shared/dev/irq/arm-gicv3.c
index ca282a378d..ea123d325e 100644
--- a/bsps/shared/dev/irq/arm-gicv3.c
+++ b/bsps/shared/dev/irq/arm-gicv3.c
@@ -388,7 +388,7 @@ static void gicv3_init_cpu_interface(void)
   WRITE_SR(ICC_CTLR, 0x0);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   volatile gic_dist *dist = ARM_GIC_DIST;
   uint32_t id_count = get_id_count(dist);
@@ -423,7 +423,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   }
 
   gicv3_init_cpu_interface();
-  return RTEMS_SUCCESSFUL;
 }
 
 #ifdef RTEMS_SMP
diff --git a/bsps/shared/irq/irq-default.c b/bsps/shared/irq/irq-default.c
index b7d9d9961e..bd93bd72c6 100644
--- a/bsps/shared/irq/irq-default.c
+++ b/bsps/shared/irq/irq-default.c
@@ -93,7 +93,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
   return RTEMS_UNSATISFIED;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
-  return RTEMS_NOT_IMPLEMENTED;
+  /* Nothing to do */
 }
diff --git a/bsps/shared/irq/irq-generic.c b/bsps/shared/irq/irq-generic.c
index eddb887d15..dac1ca4209 100644
--- a/bsps/shared/irq/irq-generic.c
+++ b/bsps/shared/irq/irq-generic.c
@@ -160,13 +160,7 @@ rtems_interrupt_entry *bsp_interrupt_entry_find(
 
 void bsp_interrupt_initialize( void )
 {
-  rtems_status_code sc;
-
-  sc = bsp_interrupt_facility_initialize();
-  if ( sc != RTEMS_SUCCESSFUL ) {
-    bsp_fatal( BSP_FATAL_INTERRUPT_INITIALIZATION );
-  }
-
+  bsp_interrupt_facility_initialize();
   bsp_interrupt_set_initialized();
 }
 
diff --git a/bsps/sparc/leon3/start/eirq.c b/bsps/sparc/leon3/start/eirq.c
index 0d71b79f1c..b94a674f64 100644
--- a/bsps/sparc/leon3/start/eirq.c
+++ b/bsps/sparc/leon3/start/eirq.c
@@ -45,7 +45,7 @@ bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
 Processor_mask leon3_interrupt_affinities[BSP_INTERRUPT_VECTOR_MAX_STD + 1];
 #endif
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
 #if defined(RTEMS_SMP)
   Processor_mask affinity;
@@ -57,8 +57,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
     leon3_interrupt_affinities[i] = affinity;
   }
 #endif
-
-  return RTEMS_SUCCESSFUL;
 }
 
 rtems_status_code bsp_interrupt_get_attributes(
diff --git a/bsps/sparc/shared/irq/irq-shared.c b/bsps/sparc/shared/irq/irq-shared.c
index 8896aca761..c815e00e40 100644
--- a/bsps/sparc/shared/irq/irq-shared.c
+++ b/bsps/sparc/shared/irq/irq-shared.c
@@ -35,10 +35,9 @@ bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
   return vector <= BSP_INTERRUPT_VECTOR_MAX_STD;
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   /* Nothing to do */
-  return RTEMS_SUCCESSFUL;
 }
 
 static bool is_maskable(rtems_vector_number vector)
diff --git a/bsps/x86_64/amd64/interrupts/idt.c b/bsps/x86_64/amd64/interrupts/idt.c
index 0fe26c3cc0..4a2949450a 100644
--- a/bsps/x86_64/amd64/interrupts/idt.c
+++ b/bsps/x86_64/amd64/interrupts/idt.c
@@ -129,7 +129,7 @@ void amd64_dispatch_isr(rtems_vector_number vector)
   bsp_interrupt_handler_dispatch(vector);
 }
 
-rtems_status_code bsp_interrupt_facility_initialize(void)
+void bsp_interrupt_facility_initialize(void)
 {
   uintptr_t old;
   for (uint32_t i = 0; i < BSP_IRQ_VECTOR_NUMBER; i++) {
@@ -137,8 +137,6 @@ rtems_status_code bsp_interrupt_facility_initialize(void)
   }
 
   lidt(&idtr);
-
-  return RTEMS_SUCCESSFUL;
 }
 
 rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
-- 
2.26.2



More information about the devel mailing list