You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/02/08 13:38:15 UTC
[incubator-nuttx] 01/02: Call up_irqinitialize from irq subsystem
This is an automated email from the ASF dual-hosted git repository.
gnutt pushed a commit to branch pr225
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit eb09e1d8d713eaf41129f79a5ad5653c4c810f55
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Fri Feb 7 14:41:58 2020 +0800
Call up_irqinitialize from irq subsystem
to make the irq ready for use as soon as possible
Change-Id: Ief969193161521ed3d5cbb3da8b40f4b1ae547cb
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
arch/arm/src/am335x/am335x_i2c.c | 6 +++---
arch/arm/src/common/up_initialize.c | 4 ----
arch/arm/src/common/up_internal.h | 2 --
arch/arm/src/samd5e5/sam_gmac.c | 20 ++++++++++----------
arch/arm/src/stm32f7/stm32_sai.c | 4 ++--
arch/arm/src/stm32h7/stm32_qspi.c | 11 +++++------
arch/avr/src/common/up_initialize.c | 4 ----
arch/avr/src/common/up_internal.h | 1 -
arch/hc/src/common/up_initialize.c | 4 ----
arch/hc/src/common/up_internal.h | 1 -
arch/mips/src/common/up_initialize.c | 4 ----
arch/mips/src/common/up_internal.h | 1 -
arch/mips/src/pic32mz/pic32mz-spi.c | 8 ++++----
arch/misoc/src/lm32/lm32.h | 4 ----
arch/misoc/src/lm32/lm32_initialize.c | 4 ----
arch/misoc/src/lm32/lm32_irq.c | 4 ++--
arch/misoc/src/minerva/minerva.h | 4 ----
arch/misoc/src/minerva/minerva_initialize.c | 4 ----
arch/misoc/src/minerva/minerva_irq.c | 4 ++--
arch/or1k/src/common/up_initialize.c | 4 ----
arch/or1k/src/common/up_internal.h | 2 --
arch/renesas/src/common/up_initialize.c | 4 ----
arch/renesas/src/common/up_internal.h | 1 -
arch/risc-v/include/rv64gc/syscall.h | 6 +++---
arch/risc-v/src/common/up_initialize.c | 4 ----
arch/risc-v/src/common/up_internal.h | 1 -
arch/risc-v/src/fe310/fe310_irq.c | 4 ++--
arch/risc-v/src/fe310/fe310_serial.c | 6 +++---
arch/risc-v/src/fe310/fe310_timerisr.c | 2 +-
arch/risc-v/src/k210/k210_cpuidlestack.c | 2 +-
arch/risc-v/src/k210/k210_cpustart.c | 4 ++--
arch/risc-v/src/k210/k210_irq.c | 4 ++--
arch/risc-v/src/k210/k210_serial.c | 6 +++---
arch/risc-v/src/k210/k210_timerisr.c | 2 +-
arch/risc-v/src/rv64gc/up_assert.c | 12 ++++++------
arch/risc-v/src/rv64gc/up_fault.c | 2 +-
arch/risc-v/src/rv64gc/up_sigdeliver.c | 4 ++--
arch/sim/include/irq.h | 11 +++++++++--
arch/x86/src/common/up_initialize.c | 4 ----
arch/x86/src/common/up_internal.h | 1 -
arch/xtensa/src/common/xtensa.h | 1 -
arch/xtensa/src/common/xtensa_initialize.c | 4 ----
arch/xtensa/src/esp32/esp32_irq.c | 4 ++--
arch/z16/src/common/up_initialize.c | 4 ----
arch/z16/src/common/up_internal.h | 1 -
arch/z80/src/common/up_initialize.c | 10 ----------
arch/z80/src/common/z80_internal.h | 8 --------
arch/z80/src/ez80/ez80_irq.c | 4 ++--
arch/z80/src/ez80/ez80_rtc.c | 26 ++++----------------------
arch/z80/src/z180/z180_irq.c | 4 ++--
arch/z80/src/z8/z8_irq.c | 4 ++--
boards/z80/z80/z80sim/src/z80_irq.c | 4 ++--
boards/z80/z80/z80sim/src/z80_timerisr.c | 2 +-
include/nuttx/arch.h | 6 ++++++
sched/irq/irq_initialize.c | 2 ++
55 files changed, 87 insertions(+), 177 deletions(-)
diff --git a/arch/arm/src/am335x/am335x_i2c.c b/arch/arm/src/am335x/am335x_i2c.c
index 90f2df4..879189b 100644
--- a/arch/arm/src/am335x/am335x_i2c.c
+++ b/arch/arm/src/am335x/am335x_i2c.c
@@ -544,7 +544,7 @@ static inline int am335x_i2c_sem_waitdone(FAR struct am335x_i2c_priv_s *priv)
{
/* Get the current time */
- (void)clock_gettime(CLOCK_REALTIME, &abstime);
+ clock_gettime(CLOCK_REALTIME, &abstime);
/* Calculate a time in the future */
@@ -1294,8 +1294,8 @@ static int am335x_i2c_init(FAR struct am335x_i2c_priv_s *priv)
/* Configure pins */
- (void)am335x_gpio_config(priv->config->scl_pin);
- (void)am335x_gpio_config(priv->config->sda_pin);
+ am335x_gpio_config(priv->config->scl_pin);
+ am335x_gpio_config(priv->config->sda_pin);
/* Disable I2C module */
diff --git a/arch/arm/src/common/up_initialize.c b/arch/arm/src/common/up_initialize.c
index 3ad5ff8..42968e3 100644
--- a/arch/arm/src/common/up_initialize.c
+++ b/arch/arm/src/common/up_initialize.c
@@ -127,10 +127,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) && \
diff --git a/arch/arm/src/common/up_internal.h b/arch/arm/src/common/up_internal.h
index dbfc474..5075cc7 100644
--- a/arch/arm/src/common/up_internal.h
+++ b/arch/arm/src/common/up_internal.h
@@ -337,8 +337,6 @@ void up_pminitialize(void);
/* Interrupt handling *******************************************************/
-void up_irqinitialize(void);
-
/* Exception handling logic unique to the Cortex-M family */
#if defined(CONFIG_ARCH_CORTEXM0) || defined(CONFIG_ARCH_ARMV7M)
diff --git a/arch/arm/src/samd5e5/sam_gmac.c b/arch/arm/src/samd5e5/sam_gmac.c
index 8cc07e1..4c7b506 100644
--- a/arch/arm/src/samd5e5/sam_gmac.c
+++ b/arch/arm/src/samd5e5/sam_gmac.c
@@ -752,8 +752,8 @@ static int sam_transmit(struct sam_gmac_s *priv)
/* Setup the TX timeout watchdog (perhaps restarting the timer) */
- (void)wd_start(priv->txtimeout, SAM_TXTIMEOUT, sam_txtimeout_expiry, 1,
- (uint32_t)priv);
+ wd_start(priv->txtimeout, SAM_TXTIMEOUT, sam_txtimeout_expiry, 1,
+ (uint32_t)priv);
/* Set d_len to zero meaning that the d_buf[] packet buffer is again
* available.
@@ -895,7 +895,7 @@ static void sam_dopoll(struct sam_gmac_s *priv)
{
/* If we have the descriptor, then poll the network for new XMIT data. */
- (void)devif_poll(dev, sam_txpoll);
+ devif_poll(dev, sam_txpoll);
}
}
@@ -1764,12 +1764,12 @@ static void sam_poll_work(FAR void *arg)
{
/* Update TCP timing states and poll the network for new XMIT data. */
- (void)devif_timer(dev, sam_txpoll);
+ devif_timer(dev, sam_txpoll);
}
/* Setup the watchdog poll timer again */
- (void)wd_start(priv->txpoll, SAM_WDDELAY, sam_poll_expiry, 1, priv);
+ wd_start(priv->txpoll, SAM_WDDELAY, sam_poll_expiry, 1, priv);
net_unlock();
}
@@ -1871,7 +1871,7 @@ static int sam_ifup(struct net_driver_s *dev)
/* Set and activate a timer process */
- (void)wd_start(priv->txpoll, SAM_WDDELAY, sam_poll_expiry, 1, (uint32_t)priv);
+ wd_start(priv->txpoll, SAM_WDDELAY, sam_poll_expiry, 1, (uint32_t)priv);
/* Enable the GMAC interrupt */
@@ -3576,7 +3576,7 @@ static void sam_ipv6multicast(struct sam_gmac_s *priv)
ninfo("IPv6 Multicast: %02x:%02x:%02x:%02x:%02x:%02x\n",
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
- (void)sam_addmac(dev, mac);
+ sam_addmac(dev, mac);
#ifdef CONFIG_NET_ICMPv6_AUTOCONF
/* Add the IPv6 all link-local nodes Ethernet address. This is the
@@ -3584,7 +3584,7 @@ static void sam_ipv6multicast(struct sam_gmac_s *priv)
* packets.
*/
- (void)sam_addmac(dev, g_ipv6_ethallnodes.ether_addr_octet);
+ sam_addmac(dev, g_ipv6_ethallnodes.ether_addr_octet);
#endif /* CONFIG_NET_ICMPv6_AUTOCONF */
#ifdef CONFIG_NET_ICMPv6_ROUTER
@@ -3593,7 +3593,7 @@ static void sam_ipv6multicast(struct sam_gmac_s *priv)
* packets.
*/
- (void)sam_addmac(dev, g_ipv6_ethallrouters.ether_addr_octet);
+ sam_addmac(dev, g_ipv6_ethallrouters.ether_addr_octet);
#endif /* CONFIG_NET_ICMPv6_ROUTER */
}
@@ -3645,7 +3645,7 @@ static int sam_gmac_configure(struct sam_gmac_s *priv)
/* Clear any pending interrupts */
- (void)sam_getreg(priv, SAM_GMAC_ISR);
+ sam_getreg(priv, SAM_GMAC_ISR);
/* Initial configuration:
*
diff --git a/arch/arm/src/stm32f7/stm32_sai.c b/arch/arm/src/stm32f7/stm32_sai.c
index e25e4c1..4d09e35 100644
--- a/arch/arm/src/stm32f7/stm32_sai.c
+++ b/arch/arm/src/stm32f7/stm32_sai.c
@@ -1041,7 +1041,7 @@ static void sai_worker(void *arg)
flags = enter_critical_section();
#ifdef CONFIG_STM32F7_SAI_DMA
- (void)sai_dma_setup(priv);
+ sai_dma_setup(priv);
#endif
leave_critical_section(flags);
}
@@ -1160,7 +1160,7 @@ static void sai_dma_callback(DMA_HANDLE handle, uint8_t isr, void *arg)
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dog);
+ wd_cancel(priv->dog);
/* Then schedule completion of the transfer to occur on the worker thread */
diff --git a/arch/arm/src/stm32h7/stm32_qspi.c b/arch/arm/src/stm32h7/stm32_qspi.c
index 5b4edc7..b381a5c 100644
--- a/arch/arm/src/stm32h7/stm32_qspi.c
+++ b/arch/arm/src/stm32h7/stm32_qspi.c
@@ -1380,7 +1380,7 @@ static void qspi_dma_callback(DMA_HANDLE handle, uint8_t isr, void *arg)
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dmadog);
+ wd_cancel(priv->dmadog);
/* Sample DMA registers at the time of the callback */
@@ -1529,7 +1529,7 @@ static int qspi_memory_dma(struct stm32h7_qspidev_s *priv,
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dmadog);
+ wd_cancel(priv->dmadog);
/* Check if we were awakened by an error of some kind */
@@ -1774,8 +1774,7 @@ static int qspi_lock(struct qspi_dev_s *dev, bool lock)
}
else
{
- (void)nxsem_post(&priv->exclsem);
- ret = OK;
+ ret = nxsem_post(&priv->exclsem);
}
return ret;
@@ -2107,7 +2106,7 @@ static int qspi_command(struct qspi_dev_s *dev,
/* Wait for the interrupt routine to finish it's magic */
- (void)nxsem_wait(&priv->op_sem);
+ nxsem_wait(&priv->op_sem);
MEMORY_SYNC();
/* Convey the result */
@@ -2265,7 +2264,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Wait for the interrupt routine to finish it's magic */
- (void)nxsem_wait(&priv->op_sem);
+ nxsem_wait(&priv->op_sem);
MEMORY_SYNC();
/* convey the result */
diff --git a/arch/avr/src/common/up_initialize.c b/arch/avr/src/common/up_initialize.c
index 8378ac4..1e769bd 100644
--- a/arch/avr/src/common/up_initialize.c
+++ b/arch/avr/src/common/up_initialize.c
@@ -168,10 +168,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
diff --git a/arch/avr/src/common/up_internal.h b/arch/avr/src/common/up_internal.h
index 09def06..2bd68b6 100644
--- a/arch/avr/src/common/up_internal.h
+++ b/arch/avr/src/common/up_internal.h
@@ -123,7 +123,6 @@ extern uint32_t _ebss; /* End+1 of .bss */
/* Defined in files with the same name as the function */
-void up_irqinitialize(void);
#ifdef CONFIG_ARCH_DMA
void weak_function up_dma_initialize(void);
#endif
diff --git a/arch/hc/src/common/up_initialize.c b/arch/hc/src/common/up_initialize.c
index 3e588fd..a12b286 100644
--- a/arch/hc/src/common/up_initialize.c
+++ b/arch/hc/src/common/up_initialize.c
@@ -90,10 +90,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
diff --git a/arch/hc/src/common/up_internal.h b/arch/hc/src/common/up_internal.h
index 6922270..bf16dfa 100644
--- a/arch/hc/src/common/up_internal.h
+++ b/arch/hc/src/common/up_internal.h
@@ -144,7 +144,6 @@ extern uint32_t g_intstackbase;
void up_copystate(uint8_t *dest, uint8_t *src);
void up_decodeirq(uint8_t *regs);
-void up_irqinitialize(void);
int up_saveusercontext(uint8_t *saveregs);
void up_fullcontextrestore(uint8_t *restoreregs) noreturn_function;
void up_switchcontext(uint8_t *saveregs, uint8_t *restoreregs);
diff --git a/arch/mips/src/common/up_initialize.c b/arch/mips/src/common/up_initialize.c
index 3456578..e433bc4 100644
--- a/arch/mips/src/common/up_initialize.c
+++ b/arch/mips/src/common/up_initialize.c
@@ -92,10 +92,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
diff --git a/arch/mips/src/common/up_internal.h b/arch/mips/src/common/up_internal.h
index d4ccdb1..b7fb134 100644
--- a/arch/mips/src/common/up_internal.h
+++ b/arch/mips/src/common/up_internal.h
@@ -235,7 +235,6 @@ void up_sigdeliver(void);
/* IRQs */
-void up_irqinitialize(void);
bool up_pending_irq(int irq);
void up_clrpend_irq(int irq);
diff --git a/arch/mips/src/pic32mz/pic32mz-spi.c b/arch/mips/src/pic32mz/pic32mz-spi.c
index 64042a6..0dde4c9 100644
--- a/arch/mips/src/pic32mz/pic32mz-spi.c
+++ b/arch/mips/src/pic32mz/pic32mz-spi.c
@@ -753,7 +753,7 @@ static inline void spi_flush(FAR struct pic32mz_dev_s *priv)
while ((spi_getreg(priv, PIC32MZ_SPI_STAT_OFFSET) & SPI_STAT_SPIRBF) != 0)
{
- (void)spi_getreg(priv, PIC32MZ_SPI_BUF_OFFSET);
+ spi_getreg(priv, PIC32MZ_SPI_BUF_OFFSET);
}
}
@@ -889,7 +889,7 @@ static void spi_dmarxcallback(DMA_HANDLE handle, uint8_t status, void *arg)
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dmadog);
+ wd_cancel(priv->dmadog);
/* Sample DMA registers at the time of the callback */
@@ -944,7 +944,7 @@ static void spi_dmatxcallback(DMA_HANDLE handle, uint8_t status, void *arg)
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dmadog);
+ wd_cancel(priv->dmadog);
/* Sample DMA registers at the time of the callback */
@@ -1785,7 +1785,7 @@ static void spi_exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer,
/* Cancel the watchdog timeout */
- (void)wd_cancel(priv->dmadog);
+ wd_cancel(priv->dmadog);
/* Check if we were awakened by an error of some kind. EINTR is not a
* failure. It simply means that the wait was awakened by a signal.
diff --git a/arch/misoc/src/lm32/lm32.h b/arch/misoc/src/lm32/lm32.h
index 3b51b14..9e21881 100644
--- a/arch/misoc/src/lm32/lm32.h
+++ b/arch/misoc/src/lm32/lm32.h
@@ -128,10 +128,6 @@ void lm32_add_region(void);
void lm32_copystate(uint32_t *dest, uint32_t *src);
-/* IRQ initialization *******************************************************/
-
-void lm32_irq_initialize(void);
-
/* Interrupt decode *********************************************************/
uint32_t *lm32_decodeirq(uint32_t intstat, uint32_t *regs);
diff --git a/arch/misoc/src/lm32/lm32_initialize.c b/arch/misoc/src/lm32/lm32_initialize.c
index e651616..73349e3 100644
--- a/arch/misoc/src/lm32/lm32_initialize.c
+++ b/arch/misoc/src/lm32/lm32_initialize.c
@@ -67,10 +67,6 @@
void up_initialize(void)
{
- /* Initialize the System Timer */
-
- lm32_irq_initialize();
-
/* Initialize the serial driver */
misoc_serial_initialize();
diff --git a/arch/misoc/src/lm32/lm32_irq.c b/arch/misoc/src/lm32/lm32_irq.c
index f667d1b..6a87985 100644
--- a/arch/misoc/src/lm32/lm32_irq.c
+++ b/arch/misoc/src/lm32/lm32_irq.c
@@ -60,10 +60,10 @@ volatile uint32_t *g_current_regs;
****************************************************************************/
/****************************************************************************
- * Name: lm32_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void lm32_irq_initialize(void)
+void up_irqinitialize(void)
{
/* currents_regs is non-NULL only while processing an interrupt */
diff --git a/arch/misoc/src/minerva/minerva.h b/arch/misoc/src/minerva/minerva.h
index 63e2014..c663704 100644
--- a/arch/misoc/src/minerva/minerva.h
+++ b/arch/misoc/src/minerva/minerva.h
@@ -128,10 +128,6 @@ void minerva_add_region(void);
void minerva_copystate(uint32_t * dest, uint32_t * src);
-/* IRQ initialization *******************************************************/
-
-void minerva_irq_initialize(void);
-
/* Interrupt decode *********************************************************/
uint32_t *minerva_decodeirq(uint32_t intstat, uint32_t * regs);
diff --git a/arch/misoc/src/minerva/minerva_initialize.c b/arch/misoc/src/minerva/minerva_initialize.c
index 3057756..45cde5c 100644
--- a/arch/misoc/src/minerva/minerva_initialize.c
+++ b/arch/misoc/src/minerva/minerva_initialize.c
@@ -67,10 +67,6 @@
void up_initialize(void)
{
- /* Initialize the System Timer */
-
- minerva_irq_initialize();
-
/* Initialize the serial driver */
misoc_serial_initialize();
diff --git a/arch/misoc/src/minerva/minerva_irq.c b/arch/misoc/src/minerva/minerva_irq.c
index a8da72b..d622095 100644
--- a/arch/misoc/src/minerva/minerva_irq.c
+++ b/arch/misoc/src/minerva/minerva_irq.c
@@ -60,10 +60,10 @@ volatile uint32_t *g_current_regs;
****************************************************************************/
/****************************************************************************
- * Name: minerva_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void minerva_irq_initialize(void)
+void up_irqinitialize(void)
{
/* currents_regs is non-NULL only while processing an interrupt */
diff --git a/arch/or1k/src/common/up_initialize.c b/arch/or1k/src/common/up_initialize.c
index 5609a5f..783415e 100644
--- a/arch/or1k/src/common/up_initialize.c
+++ b/arch/or1k/src/common/up_initialize.c
@@ -185,10 +185,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) && \
diff --git a/arch/or1k/src/common/up_internal.h b/arch/or1k/src/common/up_internal.h
index 1e1abc1..40d6ea6 100644
--- a/arch/or1k/src/common/up_internal.h
+++ b/arch/or1k/src/common/up_internal.h
@@ -263,8 +263,6 @@ void up_pminitialize(void);
/* Interrupt handling *******************************************************/
-void up_irqinitialize(void);
-
/* Exception handling logic unique to the Cortex-M family */
/* Interrupt acknowledge and dispatch */
diff --git a/arch/renesas/src/common/up_initialize.c b/arch/renesas/src/common/up_initialize.c
index 0993bcf..1353480 100644
--- a/arch/renesas/src/common/up_initialize.c
+++ b/arch/renesas/src/common/up_initialize.c
@@ -86,10 +86,6 @@ void up_initialize(void)
g_current_regs = NULL;
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
/* Initialize the system timer interrupt */
diff --git a/arch/renesas/src/common/up_internal.h b/arch/renesas/src/common/up_internal.h
index 171f4fc..077805b 100644
--- a/arch/renesas/src/common/up_internal.h
+++ b/arch/renesas/src/common/up_internal.h
@@ -143,7 +143,6 @@ void up_dataabort(uint32_t *regs);
void up_decodeirq(uint32_t *regs);
uint32_t *up_doirq(int irq, uint32_t *regs);
void up_fullcontextrestore(uint32_t *regs) noreturn_function;
-void up_irqinitialize(void);
void up_prefetchabort(uint32_t *regs);
int up_saveusercontext(uint32_t *regs);
void up_sigdeliver(void);
diff --git a/arch/risc-v/include/rv64gc/syscall.h b/arch/risc-v/include/rv64gc/syscall.h
index e611230..c6481ba 100644
--- a/arch/risc-v/include/rv64gc/syscall.h
+++ b/arch/risc-v/include/rv64gc/syscall.h
@@ -87,7 +87,7 @@
#define SYS_restore_context (1)
#define up_fullcontextrestore(restoreregs) \
- (void)sys_call1(SYS_restore_context, (uintptr_t)restoreregs)
+ sys_call1(SYS_restore_context, (uintptr_t)restoreregs)
/* SYS call 2:
*
@@ -96,7 +96,7 @@
#define SYS_switch_context (2)
#define up_switchcontext(saveregs, restoreregs) \
- (void)sys_call2(SYS_switch_context, (uintptr_t)saveregs, (uintptr_t)restoreregs)
+ sys_call2(SYS_switch_context, (uintptr_t)saveregs, (uintptr_t)restoreregs)
#ifdef CONFIG_BUILD_KERNEL
/* SYS call 3:
@@ -105,7 +105,7 @@
*/
#define SYS_syscall_return (3)
-#define up_syscall_return() (void)sys_call0(SYS_syscall_return)
+#define up_syscall_return() sys_call0(SYS_syscall_return)
#endif
#endif /* __ASSEMBLY__ */
diff --git a/arch/risc-v/src/common/up_initialize.c b/arch/risc-v/src/common/up_initialize.c
index 33b590c..3ebd0ae 100644
--- a/arch/risc-v/src/common/up_initialize.c
+++ b/arch/risc-v/src/common/up_initialize.c
@@ -114,10 +114,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) && \
diff --git a/arch/risc-v/src/common/up_internal.h b/arch/risc-v/src/common/up_internal.h
index 702565f..768fc81 100644
--- a/arch/risc-v/src/common/up_internal.h
+++ b/arch/risc-v/src/common/up_internal.h
@@ -176,7 +176,6 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size);
/* IRQ initialization *******************************************************/
-void up_irqinitialize(void);
void up_ack_irq(int irq);
#ifdef CONFIG_ARCH_RV64GC
diff --git a/arch/risc-v/src/fe310/fe310_irq.c b/arch/risc-v/src/fe310/fe310_irq.c
index 3a51929..a2ad7ba 100644
--- a/arch/risc-v/src/fe310/fe310_irq.c
+++ b/arch/risc-v/src/fe310/fe310_irq.c
@@ -65,7 +65,7 @@ void up_irqinitialize(void)
{
/* Disable Machine interrupts */
- (void)up_irq_save();
+ up_irq_save();
/* Disable all global interrupts */
@@ -105,7 +105,7 @@ void up_irqinitialize(void)
/* And finally, enable interrupts */
- (void)up_irq_enable();
+ up_irq_enable();
#endif
}
diff --git a/arch/risc-v/src/fe310/fe310_serial.c b/arch/risc-v/src/fe310/fe310_serial.c
index 8e92f34..e836f35 100644
--- a/arch/risc-v/src/fe310/fe310_serial.c
+++ b/arch/risc-v/src/fe310/fe310_serial.c
@@ -646,14 +646,14 @@ void up_serialinit(void)
/* Register the console */
#ifdef HAVE_SERIAL_CONSOLE
- (void)uart_register("/dev/console", &CONSOLE_DEV);
+ uart_register("/dev/console", &CONSOLE_DEV);
#endif
/* Register all UARTs */
- (void)uart_register("/dev/ttyS0", &TTYS0_DEV);
+ uart_register("/dev/ttyS0", &TTYS0_DEV);
#ifdef TTYS1_DEV
- (void)uart_register("/dev/ttyS1", &TTYS1_DEV);
+ uart_register("/dev/ttyS1", &TTYS1_DEV);
#endif
}
diff --git a/arch/risc-v/src/fe310/fe310_timerisr.c b/arch/risc-v/src/fe310/fe310_timerisr.c
index 32717e1..066671a 100644
--- a/arch/risc-v/src/fe310/fe310_timerisr.c
+++ b/arch/risc-v/src/fe310/fe310_timerisr.c
@@ -132,7 +132,7 @@ void riscv_timer_initialize(void)
{
/* Attach timer interrupt handler */
- (void)irq_attach(FE310_IRQ_MTIMER, fe310_timerisr, NULL);
+ irq_attach(FE310_IRQ_MTIMER, fe310_timerisr, NULL);
/* Reload CLINT mtimecmp */
diff --git a/arch/risc-v/src/k210/k210_cpuidlestack.c b/arch/risc-v/src/k210/k210_cpuidlestack.c
index e070650..de21901 100644
--- a/arch/risc-v/src/k210/k210_cpuidlestack.c
+++ b/arch/risc-v/src/k210/k210_cpuidlestack.c
@@ -98,7 +98,7 @@
int up_cpu_idlestack(int cpu, FAR struct tcb_s *tcb, size_t stack_size)
{
#if CONFIG_SMP_NCPUS > 1
- (void)up_create_stack(tcb, stack_size, TCB_FLAG_TTYPE_KERNEL);
+ up_create_stack(tcb, stack_size, TCB_FLAG_TTYPE_KERNEL);
#endif
return OK;
}
diff --git a/arch/risc-v/src/k210/k210_cpustart.c b/arch/risc-v/src/k210/k210_cpustart.c
index bb27ef5..433b12b 100644
--- a/arch/risc-v/src/k210/k210_cpustart.c
+++ b/arch/risc-v/src/k210/k210_cpustart.c
@@ -139,11 +139,11 @@ void k210_cpu_boot(int cpu)
sched_note_cpu_started(this_task());
#endif
- (void)up_irq_enable();
+ up_irq_enable();
/* Then transfer control to the IDLE task */
- (void)nx_idle_task(0, NULL);
+ nx_idle_task(0, NULL);
}
/****************************************************************************
diff --git a/arch/risc-v/src/k210/k210_irq.c b/arch/risc-v/src/k210/k210_irq.c
index 4773f40..6d064c3 100644
--- a/arch/risc-v/src/k210/k210_irq.c
+++ b/arch/risc-v/src/k210/k210_irq.c
@@ -81,7 +81,7 @@ void up_irqinitialize(void)
{
/* Disable Machine interrupts */
- (void)up_irq_save();
+ up_irq_save();
/* Disable all global interrupts */
@@ -137,7 +137,7 @@ void up_irqinitialize(void)
/* And finally, enable interrupts */
- (void)up_irq_enable();
+ up_irq_enable();
#endif
}
diff --git a/arch/risc-v/src/k210/k210_serial.c b/arch/risc-v/src/k210/k210_serial.c
index e9eb40f..0912539 100644
--- a/arch/risc-v/src/k210/k210_serial.c
+++ b/arch/risc-v/src/k210/k210_serial.c
@@ -646,14 +646,14 @@ void up_serialinit(void)
/* Register the console */
#ifdef HAVE_SERIAL_CONSOLE
- (void)uart_register("/dev/console", &CONSOLE_DEV);
+ uart_register("/dev/console", &CONSOLE_DEV);
#endif
/* Register all UARTs */
- (void)uart_register("/dev/ttyS0", &TTYS0_DEV);
+ uart_register("/dev/ttyS0", &TTYS0_DEV);
#ifdef TTYS1_DEV
- (void)uart_register("/dev/ttyS1", &TTYS1_DEV);
+ uart_register("/dev/ttyS1", &TTYS1_DEV);
#endif
}
diff --git a/arch/risc-v/src/k210/k210_timerisr.c b/arch/risc-v/src/k210/k210_timerisr.c
index 7cb3933..f5c19e4 100644
--- a/arch/risc-v/src/k210/k210_timerisr.c
+++ b/arch/risc-v/src/k210/k210_timerisr.c
@@ -135,7 +135,7 @@ void riscv_timer_initialize(void)
#if 1
/* Attach timer interrupt handler */
- (void)irq_attach(K210_IRQ_MTIMER, k210_timerisr, NULL);
+ irq_attach(K210_IRQ_MTIMER, k210_timerisr, NULL);
/* Reload CLINT mtimecmp */
diff --git a/arch/risc-v/src/rv64gc/up_assert.c b/arch/risc-v/src/rv64gc/up_assert.c
index 06e781d..40dd255 100644
--- a/arch/risc-v/src/rv64gc/up_assert.c
+++ b/arch/risc-v/src/rv64gc/up_assert.c
@@ -307,19 +307,19 @@ static void _up_assert(int errorcode)
{
/* Flush any buffered SYSLOG data */
- (void)syslog_flush();
+ syslog_flush();
/* Are we in an interrupt handler or the idle task? */
if (CURRENT_REGS || running_task()->flink == NULL)
{
- (void)up_irq_save();
+ up_irq_save();
for (; ; )
{
#ifdef CONFIG_SMP
/* Try (again) to stop activity on other CPUs */
- (void)spin_trylock(&g_cpu_irqlock);
+ spin_trylock(&g_cpu_irqlock);
#endif
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
@@ -385,7 +385,7 @@ void up_assert(const uint8_t *filename, int lineno)
/* Flush any buffered SYSLOG data (from prior to the assertion) */
- (void)syslog_flush();
+ syslog_flush();
#ifdef CONFIG_SMP
#if CONFIG_TASK_NAME_SIZE > 0
@@ -420,12 +420,12 @@ void up_assert(const uint8_t *filename, int lineno)
#ifdef CONFIG_ARCH_USBDUMP
/* Dump USB trace data */
- (void)usbtrace_enumerate(assert_tracecallback, NULL);
+ usbtrace_enumerate(assert_tracecallback, NULL);
#endif
/* Flush any buffered SYSLOG data (from the above) */
- (void)syslog_flush();
+ syslog_flush();
#ifdef CONFIG_BOARD_CRASHDUMP
board_crashdump(up_getsp(), running_task(), filename, lineno);
diff --git a/arch/risc-v/src/rv64gc/up_fault.c b/arch/risc-v/src/rv64gc/up_fault.c
index e04fa3e..5075f9e 100644
--- a/arch/risc-v/src/rv64gc/up_fault.c
+++ b/arch/risc-v/src/rv64gc/up_fault.c
@@ -119,5 +119,5 @@ void up_fault(int irq, uint64_t *regs)
CURRENT_REGS[REG_TP], CURRENT_REGS[REG_RA]);
#endif
- (void)up_irq_save();
+ up_irq_save();
}
diff --git a/arch/risc-v/src/rv64gc/up_sigdeliver.c b/arch/risc-v/src/rv64gc/up_sigdeliver.c
index f1c2b5c..e7eaa87 100644
--- a/arch/risc-v/src/rv64gc/up_sigdeliver.c
+++ b/arch/risc-v/src/rv64gc/up_sigdeliver.c
@@ -155,9 +155,9 @@ void up_sigdeliver(void)
*/
#ifdef CONFIG_SMP
- (void)enter_critical_section();
+ enter_critical_section();
#else
- (void)up_irq_save();
+ up_irq_save();
#endif
/* Restore the saved errno value */
diff --git a/arch/sim/include/irq.h b/arch/sim/include/irq.h
index 97af188..de89aec 100644
--- a/arch/sim/include/irq.h
+++ b/arch/sim/include/irq.h
@@ -62,7 +62,7 @@
# define XCPTCONTEXT_REGS 6
#elif defined(CONFIG_HOST_ARM)
-# define XCPTCONTEXT_REGS 16
+# define XCPTCONTEXT_REGS 16
#endif
/****************************************************************************
@@ -70,7 +70,6 @@
****************************************************************************/
#ifndef __ASSEMBLY__
-/* Number of registers saved in context switch */
#if defined(CONFIG_HOST_X86_64) && !defined(CONFIG_SIM_M32)
typedef unsigned long xcpt_reg_t;
@@ -94,6 +93,14 @@ struct xcptcontext
#ifndef __ASSEMBLY__
+/****************************************************************************
+ * Name: up_irqinitialize
+ ****************************************************************************/
+
+static inline void up_irqinitialize(void)
+{
+}
+
/* Name: up_irq_save, up_irq_restore, and friends.
*
* NOTE: This function should never be called from application code and,
diff --git a/arch/x86/src/common/up_initialize.c b/arch/x86/src/common/up_initialize.c
index 432672b..e675e8b 100644
--- a/arch/x86/src/common/up_initialize.c
+++ b/arch/x86/src/common/up_initialize.c
@@ -92,10 +92,6 @@ void up_initialize(void)
up_addregion();
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
/* Initialize the system timer interrupt */
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
diff --git a/arch/x86/src/common/up_internal.h b/arch/x86/src/common/up_internal.h
index 8da9f3c..0c1cb3a 100644
--- a/arch/x86/src/common/up_internal.h
+++ b/arch/x86/src/common/up_internal.h
@@ -177,7 +177,6 @@ void x86_boardinitialize(void);
void up_copystate(uint32_t *dest, uint32_t *src);
void up_savestate(uint32_t *regs);
void up_decodeirq(uint32_t *regs);
-void up_irqinitialize(void);
#ifdef CONFIG_ARCH_DMA
void weak_function up_dma_initialize(void);
#endif
diff --git a/arch/xtensa/src/common/xtensa.h b/arch/xtensa/src/common/xtensa.h
index d895444..1c3190a 100644
--- a/arch/xtensa/src/common/xtensa.h
+++ b/arch/xtensa/src/common/xtensa.h
@@ -308,7 +308,6 @@ void xtensa_sig_deliver(void);
/* Chip specific functions defined in arch/xtensa/src/<chip> */
/* IRQs */
-void xtensa_irq_initialize(void);
bool xtensa_pending_irq(int irq);
void xtensa_clrpend_irq(int irq);
diff --git a/arch/xtensa/src/common/xtensa_initialize.c b/arch/xtensa/src/common/xtensa_initialize.c
index 922b4a5..015bbed 100644
--- a/arch/xtensa/src/common/xtensa_initialize.c
+++ b/arch/xtensa/src/common/xtensa_initialize.c
@@ -100,10 +100,6 @@ void up_initialize(void)
xtensa_add_region();
- /* Initialize the interrupt subsystem */
-
- xtensa_irq_initialize();
-
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
/* Initialize the system timer interrupt */
diff --git a/arch/xtensa/src/esp32/esp32_irq.c b/arch/xtensa/src/esp32/esp32_irq.c
index d56a3a0..3f8f267 100644
--- a/arch/xtensa/src/esp32/esp32_irq.c
+++ b/arch/xtensa/src/esp32/esp32_irq.c
@@ -132,10 +132,10 @@ static inline void xtensa_attach_fromcpu1_interrupt(void)
****************************************************************************/
/****************************************************************************
- * Name: xtensa_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void xtensa_irq_initialize(void)
+void up_irqinitialize(void)
{
/* Initialize CPU interrupts */
diff --git a/arch/z16/src/common/up_initialize.c b/arch/z16/src/common/up_initialize.c
index 4da1978..a61a910 100644
--- a/arch/z16/src/common/up_initialize.c
+++ b/arch/z16/src/common/up_initialize.c
@@ -105,10 +105,6 @@ void up_initialize(void)
up_addregion();
#endif
- /* Initialize the interrupt subsystem */
-
- up_irqinitialize();
-
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
/* Initialize the system timer interrupt */
diff --git a/arch/z16/src/common/up_internal.h b/arch/z16/src/common/up_internal.h
index 530fcf2..34a7400 100644
--- a/arch/z16/src/common/up_internal.h
+++ b/arch/z16/src/common/up_internal.h
@@ -135,7 +135,6 @@ extern volatile FAR chipreg_t *g_current_regs;
void up_copystate(FAR chipreg_t *dest, FAR chipreg_t *src);
FAR chipreg_t *up_doirq(int irq, FAR chipreg_t *regs);
void up_restoreusercontext(FAR chipreg_t *regs);
-void up_irqinitialize(void);
int up_saveusercontext(FAR chipreg_t *regs);
void up_sigdeliver(void);
diff --git a/arch/z80/src/common/up_initialize.c b/arch/z80/src/common/up_initialize.c
index c93c776..5086365 100644
--- a/arch/z80/src/common/up_initialize.c
+++ b/arch/z80/src/common/up_initialize.c
@@ -96,16 +96,6 @@ void up_initialize(void)
up_addregion();
#endif
- /* Initialize the interrupt subsystem */
-
- z80_irq_initialize();
-
-#ifdef CONFIG_RTC_ALARM
- /* Enable RTC alarm interrupts */
-
- z80_rtc_irqinitialize();
-#endif
-
#if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS)
/* Initialize the system timer interrupt */
diff --git a/arch/z80/src/common/z80_internal.h b/arch/z80/src/common/z80_internal.h
index acd2712..672583c 100644
--- a/arch/z80/src/common/z80_internal.h
+++ b/arch/z80/src/common/z80_internal.h
@@ -104,14 +104,6 @@ extern "C"
{
#endif
-/* Supplied by chip- or board-specific logic */
-
-void z80_irq_initialize(void);
-
-#ifdef CONFIG_RTC_ALARM
-void z80_rtc_irqinitialize(void);
-#endif
-
#ifdef USE_LOWSERIALINIT
void z80_lowserial_initialize(void);
#endif
diff --git a/arch/z80/src/ez80/ez80_irq.c b/arch/z80/src/ez80/ez80_irq.c
index c55866d..39177fb 100644
--- a/arch/z80/src/ez80/ez80_irq.c
+++ b/arch/z80/src/ez80/ez80_irq.c
@@ -60,10 +60,10 @@ volatile chipreg_t *g_current_regs;
****************************************************************************/
/****************************************************************************
- * Name: z80_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void z80_irq_initialize(void)
+void up_irqinitialize(void)
{
g_current_regs = NULL;
diff --git a/arch/z80/src/ez80/ez80_rtc.c b/arch/z80/src/ez80/ez80_rtc.c
index 0a42252..fd3569a 100644
--- a/arch/z80/src/ez80/ez80_rtc.c
+++ b/arch/z80/src/ez80/ez80_rtc.c
@@ -446,34 +446,16 @@ int up_rtc_initialize(void)
outp(EZ80_RTC_CTRL, regval);
+#ifdef CONFIG_RTC_ALARM
+ irq_attach(EZ80_RTC_IRQ, ez80_alarm_interrupt, NULL);
+#endif
+
rtc_dumpregs("After Initialization");
g_rtc_enabled = true;
return OK;
}
/****************************************************************************
- * Name: z80_rtc_irqinitialize
- *
- * Description:
- * Initialize IRQs for RTC, not possible during up_rtc_initialize because
- * z80_irq_initialize is called later.
- *
- * Input Parameters:
- * None
- *
- * Returned Value:
- * Zero (OK) on success; a negated errno on failure
- *
- ****************************************************************************/
-
-#ifdef CONFIG_RTC_ALARM
-int z80_rtc_irqinitialize(void)
-{
- return irq_attach(EZ80_RTC_IRQ, ez80_alarm_interrupt, NULL);
-}
-#endif
-
-/****************************************************************************
* Name: up_rtc_getdatetime
*
* Description:
diff --git a/arch/z80/src/z180/z180_irq.c b/arch/z80/src/z180/z180_irq.c
index 9ed7f36..e2e7053 100644
--- a/arch/z80/src/z180/z180_irq.c
+++ b/arch/z80/src/z180/z180_irq.c
@@ -160,14 +160,14 @@ irqstate_t up_irq_enable(void) __naked
}
/****************************************************************************
- * Name: z80_irq_initialize
+ * Name: up_irqinitialize
*
* Description:
* Initialize and enable interrupts
*
****************************************************************************/
-void z80_irq_initialize(void)
+void up_irqinitialize(void)
{
uint16_t vectaddr = (uint16_t)up_vectors;
uint8_t regval;
diff --git a/arch/z80/src/z8/z8_irq.c b/arch/z80/src/z8/z8_irq.c
index 00e3b2d..8385ebd 100644
--- a/arch/z80/src/z8/z8_irq.c
+++ b/arch/z80/src/z8/z8_irq.c
@@ -60,10 +60,10 @@ struct z8_irqstate_s g_z8irqstate;
****************************************************************************/
/****************************************************************************
- * Name: z80_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void z80_irq_initialize(void)
+void up_irqinitialize(void)
{
/* Clear and disable all interrupts. Set all to priority 0. */
diff --git a/boards/z80/z80/z80sim/src/z80_irq.c b/boards/z80/z80/z80sim/src/z80_irq.c
index 01b2ad9..7dcd960 100644
--- a/boards/z80/z80/z80sim/src/z80_irq.c
+++ b/boards/z80/z80/z80sim/src/z80_irq.c
@@ -55,10 +55,10 @@ int z80sim_timerisr(int irq, FAR chipreg_t *regs);
****************************************************************************/
/****************************************************************************
- * Name: z80_irq_initialize
+ * Name: up_irqinitialize
****************************************************************************/
-void z80_irq_initialize(void)
+void up_irqinitialize(void)
{
/* Attach the timer interrupt -- There is not special timer interrupt
* enable in the simulation so it must be enabled here before interrupts
diff --git a/boards/z80/z80/z80sim/src/z80_timerisr.c b/boards/z80/z80/z80sim/src/z80_timerisr.c
index dd5937b..3863623 100644
--- a/boards/z80/z80/z80sim/src/z80_timerisr.c
+++ b/boards/z80/z80/z80sim/src/z80_timerisr.c
@@ -78,7 +78,7 @@ int z80sim_timerisr(int irq, FAR chipreg_t *regs, void *arg)
void z80_timer_initialize(void)
{
- /* The timer interrupt was attached in z80_irq_initialize -- see comments
+ /* The timer interrupt was attached in up_irqinitialize -- see comments
* there.
*/
}
diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h
index 7733619..a7665b0 100644
--- a/include/nuttx/arch.h
+++ b/include/nuttx/arch.h
@@ -1332,6 +1332,12 @@ int up_shmdt(uintptr_t vaddr, unsigned int npages);
/* See prototype in include/nuttx/elf.h */
/****************************************************************************
+ * Name: up_irqinitialize
+ ****************************************************************************/
+
+void up_irqinitialize(void);
+
+/****************************************************************************
* Name: up_interrupt_context
*
* Description:
diff --git a/sched/irq/irq_initialize.c b/sched/irq/irq_initialize.c
index a4ac822..cc024d6 100644
--- a/sched/irq/irq_initialize.c
+++ b/sched/irq/irq_initialize.c
@@ -106,4 +106,6 @@ void irq_initialize(void)
irqchain_initialize();
#endif
+
+ up_irqinitialize();
}