summaryrefslogtreecommitdiff
path: root/nuttx/arch/sh
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-05-20 17:48:39 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-05-20 17:48:39 -0600
commitab4d04d81f8bb7f067190493b0e69a92f9e1a21d (patch)
tree7cf766fc04ff15d61235d40b1be876762d813874 /nuttx/arch/sh
parente83378539e90cc6ad05140b38fe35d5f447b54ee (diff)
downloadnuttx-ab4d04d81f8bb7f067190493b0e69a92f9e1a21d.tar.gz
nuttx-ab4d04d81f8bb7f067190493b0e69a92f9e1a21d.tar.bz2
nuttx-ab4d04d81f8bb7f067190493b0e69a92f9e1a21d.zip
Make sure that all references to up_prioritize_irq() are conditioned on CONFIG_ARCH_IRQPRIO. Noted by Make Smith
Diffstat (limited to 'nuttx/arch/sh')
-rw-r--r--nuttx/arch/sh/src/sh1/sh1_irq.c3
-rw-r--r--nuttx/arch/sh/src/sh1/sh1_serial.c5
-rw-r--r--nuttx/arch/sh/src/sh1/sh1_timerisr.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/nuttx/arch/sh/src/sh1/sh1_irq.c b/nuttx/arch/sh/src/sh1/sh1_irq.c
index 7757c9ba9..e8543dd4c 100644
--- a/nuttx/arch/sh/src/sh1/sh1_irq.c
+++ b/nuttx/arch/sh/src/sh1/sh1_irq.c
@@ -96,6 +96,7 @@ void up_irqinitialize(void)
*
****************************************************************************/
+#ifdef CONFIG_ARCH_IRQPRIO
void up_prioritize_irq(int irq, int priority)
{
uint16_t mask;
@@ -282,4 +283,4 @@ void up_prioritize_irq(int irq, int priority)
reg16 |= (priority << shift);
putreg16(reg16, reg);
}
-
+#endif /* CONFIG_ARCH_IRQPRIO */
diff --git a/nuttx/arch/sh/src/sh1/sh1_serial.c b/nuttx/arch/sh/src/sh1/sh1_serial.c
index 2c8d64888..dac01e3ca 100644
--- a/nuttx/arch/sh/src/sh1/sh1_serial.c
+++ b/nuttx/arch/sh/src/sh1/sh1_serial.c
@@ -499,10 +499,11 @@ static int up_attach(struct uart_dev_s *dev)
ret = irq_attach(priv->irq + SH1_TXI_IRQ_OFFSET, up_interrupt);
if (ret == OK)
{
+#ifdef CONFIG_ARCH_IRQPRIO
/* All SCI0 interrupts share the same prioritization */
up_prioritize_irq(priv->irq, 7); /* Set SCI priority midway */
-
+#endif
/* Return OK on success */
return OK;
@@ -545,11 +546,13 @@ static void up_detach(struct uart_dev_s *dev)
(void)irq_detach(priv->irq + SH1_ERI_IRQ_OFFSET);
(void)irq_detach(priv->irq + SH1_RXI_IRQ_OFFSET);
+#ifdef CONFIG_ARCH_IRQPRIO
/* Set the interrupt priority to zero (masking all SCI interrupts). NOTE
* that all SCI0 interrupts share the same prioritization.
*/
up_prioritize_irq(priv->irq, 0);
+#endif
}
/****************************************************************************
diff --git a/nuttx/arch/sh/src/sh1/sh1_timerisr.c b/nuttx/arch/sh/src/sh1/sh1_timerisr.c
index 4f0f176a2..803829058 100644
--- a/nuttx/arch/sh/src/sh1/sh1_timerisr.c
+++ b/nuttx/arch/sh/src/sh1/sh1_timerisr.c
@@ -193,9 +193,11 @@ void up_timerinit(void)
putreg8(SH1_ITUTIER_IMIEA, SH1_ITU0_TIER);
+#ifdef CONFIG_ARCH_IRQPRIO
/* Set the interrupt priority */
up_prioritize_irq(SH1_SYSTIMER_IRQ, 7); /* Set ITU priority midway */
+#endif
/* Start the timer */