zephyr: allow building with dynamic interrupts disabled

SOF registers IRQ handlers dynamically, therefore disabling
support for dynamic interrupts for SOF builds doesn't make
much sense. However, this can be used to at least increase
compile-time testing coverage and potentially enable
applications, not using dynamic interrupt registration.

BugLink: https://github.com/thesofproject/sof/issues/4044
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2021-04-20 15:46:31 +02:00 committed by Liam Girdwood
parent 3e8526110c
commit 975fa04088
1 changed files with 6 additions and 5 deletions

View File

@ -23,11 +23,6 @@
#include <soc.h>
#include <kernel.h>
/* Confirm Zephyr config settings - TODO: Use ASSERT */
#if !CONFIG_DYNAMIC_INTERRUPTS
#error Define CONFIG_DYNAMIC_INTERRUPTS
#endif
/*
* Memory - Create Zephyr HEAP for SOF.
*
@ -198,8 +193,14 @@ int interrupt_get_irq(unsigned int irq, const char *cascade)
int interrupt_register(uint32_t irq, void(*handler)(void *arg), void *arg)
{
#ifdef CONFIG_DYNAMIC_INTERRUPTS
return arch_irq_connect_dynamic(irq, 0, (void (*)(const void *))handler,
arg, 0);
#else
LOG_ERR("Cannot register handler for IRQ %u: dynamic IRQs are disabled",
irq);
return -EOPNOTSUPP;
#endif
}
#if !CONFIG_LIBRARY