Module: xenomai-forge Branch: master Commit: 97bdcc6c0e112c289b15267dcaf712e808d44804 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=97bdcc6c0e112c289b15267dcaf712e808d44804
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Tue Oct 8 22:26:43 2013 +0200 cobalt/intr: IPIs number are not know at compilation time on ARM --- kernel/cobalt/intr.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/kernel/cobalt/intr.c b/kernel/cobalt/intr.c index 638be6a..f501daf 100644 --- a/kernel/cobalt/intr.c +++ b/kernel/cobalt/intr.c @@ -1001,23 +1001,27 @@ static inline int format_irq_proc(unsigned int irq, return 0; } - switch (irq) { #ifdef CONFIG_SMP - case IPIPE_HRTIMER_IPI: + /* + * IPI numbers on ARM are not compile time constants, so do + * not use switch/case here. + */ + if (irq == IPIPE_HRTIMER_IPI) { xnvfile_puts(it, " [timer-ipi]"); return 0; - case IPIPE_RESCHEDULE_IPI: + } + if (irq == IPIPE_RESCHEDULE_IPI) { xnvfile_puts(it, " [reschedule]"); return 0; - case IPIPE_CRITICAL_IPI: + } + if (irq == IPIPE_CRITICAL_IPI) { xnvfile_puts(it, " [sync]"); return 0; + } #endif /* CONFIG_SMP */ - default: - if (ipipe_virtual_irq_p(irq)) { - xnvfile_puts(it, " [virtual]"); - return 0; - } + if (ipipe_virtual_irq_p(irq)) { + xnvfile_puts(it, " [virtual]"); + return 0; } mutex_lock(&intrlock); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git