summaryrefslogtreecommitdiffstats
path: root/bsps/arm
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-29 14:01:17 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-26 19:57:30 +0200
commitbc86a5fa84f764fcd6519d30daf618be1e5e6c7a (patch)
tree7ed462b7d8f3a99a53e1b85894f3d9ebb6f96061 /bsps/arm
parentbsps/irq: Add rtems_interrupt_is_pending() (diff)
downloadrtems-bc86a5fa84f764fcd6519d30daf618be1e5e6c7a.tar.bz2
bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable(). Update #3269.
Diffstat (limited to 'bsps/arm')
-rw-r--r--bsps/arm/beagle/irq/irq.c3
-rw-r--r--bsps/arm/csb336/irq/irq.c4
-rw-r--r--bsps/arm/csb337/irq/irq.c3
-rw-r--r--bsps/arm/edb7312/irq/irq.c4
-rw-r--r--bsps/arm/gumstix/irq/irq.c3
-rw-r--r--bsps/arm/lpc24xx/irq/irq.c3
-rw-r--r--bsps/arm/lpc32xx/irq/irq.c4
-rw-r--r--bsps/arm/raspberrypi/irq/irq.c3
-rw-r--r--bsps/arm/rtl22xx/irq/irq.c3
-rw-r--r--bsps/arm/shared/irq/irq-armv7m.c3
-rw-r--r--bsps/arm/smdk2410/irq/irq.c3
-rw-r--r--bsps/arm/tms570/irq/irq.c3
12 files changed, 27 insertions, 12 deletions
diff --git a/bsps/arm/beagle/irq/irq.c b/bsps/arm/beagle/irq/irq.c
index b0b7f77011..ff5ab4d15f 100644
--- a/bsps/arm/beagle/irq/irq.c
+++ b/bsps/arm/beagle/irq/irq.c
@@ -137,7 +137,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
uint32_t mask, cur;
uint32_t mir_reg = omap_get_mir_reg(vector, &mask);
@@ -147,6 +147,7 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
cur = mmio_read(omap_intr.base + mir_reg);
mmio_write(omap_intr.base + mir_reg, cur & ~mask);
flush_data_cache();
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/csb336/irq/irq.c b/bsps/arm/csb336/irq/irq.c
index c16a6d8773..4cdce1a207 100644
--- a/bsps/arm/csb336/irq/irq.c
+++ b/bsps/arm/csb336/irq/irq.c
@@ -68,12 +68,14 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
if (vector < MC9328MXL_NUM_INTS)
MC9328MXL_AITC_INTENNUM = vector;
+
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/csb337/irq/irq.c b/bsps/arm/csb337/irq/irq.c
index 98d775ce28..f2e2dbbed8 100644
--- a/bsps/arm/csb337/irq/irq.c
+++ b/bsps/arm/csb337/irq/irq.c
@@ -69,10 +69,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
AIC_CTL_REG(AIC_IECR) = 1 << vector;
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/edb7312/irq/irq.c b/bsps/arm/edb7312/irq/irq.c
index 9a64e069d0..820628a61d 100644
--- a/bsps/arm/edb7312/irq/irq.c
+++ b/bsps/arm/edb7312/irq/irq.c
@@ -69,7 +69,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
@@ -93,6 +93,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
/* interrupt managed by INTMR3 and INTSR3 */
*EP7312_INTMR3 |= (1 << (vector - 21));
}
+
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/gumstix/irq/irq.c b/bsps/arm/gumstix/irq/irq.c
index ff465c0308..da90bc77d9 100644
--- a/bsps/arm/gumstix/irq/irq.c
+++ b/bsps/arm/gumstix/irq/irq.c
@@ -66,10 +66,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
XSCALE_INT_ICMR |= 1 << vector;
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/lpc24xx/irq/irq.c b/bsps/arm/lpc24xx/irq/irq.c
index 0475bb2cc7..94ea9f880b 100644
--- a/bsps/arm/lpc24xx/irq/irq.c
+++ b/bsps/arm/lpc24xx/irq/irq.c
@@ -106,10 +106,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
VICIntEnable = 1U << vector;
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/lpc32xx/irq/irq.c b/bsps/arm/lpc32xx/irq/irq.c
index 73c91defb5..6bd7455d63 100644
--- a/bsps/arm/lpc32xx/irq/irq.c
+++ b/bsps/arm/lpc32xx/irq/irq.c
@@ -302,7 +302,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
rtems_interrupt_level level;
@@ -312,6 +312,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
lpc32xx_irq_set_bit_in_register(vector, LPC32XX_IRQ_OFFSET_ER);
lpc32xx_irq_set_bit_in_field(vector, &lpc32xx_irq_enable);
rtems_interrupt_enable(level);
+
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/raspberrypi/irq/irq.c b/bsps/arm/raspberrypi/irq/irq.c
index 96a7d6d42d..1298a8935b 100644
--- a/bsps/arm/raspberrypi/irq/irq.c
+++ b/bsps/arm/raspberrypi/irq/irq.c
@@ -196,11 +196,12 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
BCM2835_REG(bsp_vector_to_reg(vector)->enable_reg_addr) =
bsp_vector_to_mask(vector);
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/rtl22xx/irq/irq.c b/bsps/arm/rtl22xx/irq/irq.c
index 1600745d19..2212bcea4e 100644
--- a/bsps/arm/rtl22xx/irq/irq.c
+++ b/bsps/arm/rtl22xx/irq/irq.c
@@ -68,10 +68,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
VICIntEnable |= 1 << vector;
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/shared/irq/irq-armv7m.c b/bsps/arm/shared/irq/irq-armv7m.c
index 6b11fc88ca..a51fb53718 100644
--- a/bsps/arm/shared/irq/irq-armv7m.c
+++ b/bsps/arm/shared/irq/irq-armv7m.c
@@ -80,10 +80,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
_ARMV7M_NVIC_Set_enable((int) vector);
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/smdk2410/irq/irq.c b/bsps/arm/smdk2410/irq/irq.c
index ac9067299f..b4ea8d30ce 100644
--- a/bsps/arm/smdk2410/irq/irq.c
+++ b/bsps/arm/smdk2410/irq/irq.c
@@ -69,9 +69,10 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
+ return RTEMS_SUCCESSFUL;
}
void bsp_interrupt_vector_disable(rtems_vector_number vector)
diff --git a/bsps/arm/tms570/irq/irq.c b/bsps/arm/tms570/irq/irq.c
index ec088d9b6b..df3f097a1e 100644
--- a/bsps/arm/tms570/irq/irq.c
+++ b/bsps/arm/tms570/irq/irq.c
@@ -138,12 +138,13 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
return RTEMS_UNSATISFIED;
}
-void bsp_interrupt_vector_enable(
+rtems_status_code bsp_interrupt_vector_enable(
rtems_vector_number vector
)
{
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
TMS570_VIM.REQENASET[vector >> 5] = 1 << (vector & 0x1f);
+ return RTEMS_SUCCESSFUL;
}
/**