From 1ae0d1a4ecd4ad7fa584190c3457eae7d7ac3941 Mon Sep 17 00:00:00 2001 From: Paul Olaru Date: Fri, 28 Apr 2023 13:12:39 +0300 Subject: [PATCH] drivers: imx: interrupt: Use Zephyr wrapper definitions For the functions platform_interrupt_clear and platform_interrupt_set, the existing definitions based on arch_interrupt_* do not compile with the xt-clang 2023 toolchain for imx. Use the Zephyr wrapper implementations for those for now. Signed-off-by: Paul Olaru --- src/drivers/imx/interrupt-generic.c | 2 ++ src/drivers/imx/interrupt-irqsteer.c | 2 ++ zephyr/wrapper.c | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/drivers/imx/interrupt-generic.c b/src/drivers/imx/interrupt-generic.c index 32e03cebf..19b58922c 100644 --- a/src/drivers/imx/interrupt-generic.c +++ b/src/drivers/imx/interrupt-generic.c @@ -36,6 +36,7 @@ int irqstr_get_sof_int(int irqstr_int) void platform_interrupt_init(void) {} +#ifndef __ZEPHYR__ void platform_interrupt_set(uint32_t irq) { arch_interrupt_set(irq); @@ -45,6 +46,7 @@ void platform_interrupt_clear(uint32_t irq, uint32_t mask) { arch_interrupt_clear(irq); } +#endif /* __ZEPHYR__ */ uint32_t platform_interrupt_get_enabled(void) { diff --git a/src/drivers/imx/interrupt-irqsteer.c b/src/drivers/imx/interrupt-irqsteer.c index 3b5fda616..2ef4f2f89 100644 --- a/src/drivers/imx/interrupt-irqsteer.c +++ b/src/drivers/imx/interrupt-irqsteer.c @@ -451,6 +451,7 @@ void platform_interrupt_init(void) interrupt_cascade_register(dsp_irq + i); } +#ifndef __ZEPHYR__ void platform_interrupt_set(uint32_t irq) { if (interrupt_is_dsp_direct(irq)) @@ -462,6 +463,7 @@ void platform_interrupt_clear(uint32_t irq, uint32_t mask) if (interrupt_is_dsp_direct(irq)) arch_interrupt_clear(irq); } +#endif /* __ZEPHYR */ uint32_t platform_interrupt_get_enabled(void) { diff --git a/zephyr/wrapper.c b/zephyr/wrapper.c index 60108c4b4..3f9f43ea7 100644 --- a/zephyr/wrapper.c +++ b/zephyr/wrapper.c @@ -107,6 +107,7 @@ void interrupt_unmask(uint32_t irq, unsigned int cpu) { /* TODO: how do we unmask on other cores with Zephyr APIs */ } +#endif void platform_interrupt_set(uint32_t irq) { @@ -117,7 +118,6 @@ void platform_interrupt_clear(uint32_t irq, uint32_t mask) { /* handled by zephyr - needed for linkage */ } -#endif /* * Asynchronous Messaging Service