From 480b24e8eae643beafc66b5957fe1140c29b80a8 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 32e03cebf816..19b58922cf6d 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 3b5fda616ffb..2ef4f2f89e11 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 60108c4b417f..3f9f43ea7458 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