If <dma.h> includes <linux/kernel.h> via <asm/dma.h>, it will end up including <linux/slab.h>, which in turn includes <dma.h>. This leads to use of symbols before definition, so remove the <linux/kernel.h> definition. Fixes: 9b12861830e0 ("include: linux/slab: use dma_alloc for kmalloc") Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- arch/sandbox/include/asm/dma.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/include/asm/dma.h b/arch/sandbox/include/asm/dma.h index ab84166846a2..2dbce1ad6c9a 100644 --- a/arch/sandbox/include/asm/dma.h +++ b/arch/sandbox/include/asm/dma.h @@ -8,7 +8,8 @@ #ifndef __ASM_DMA_H #define __ASM_DMA_H -#include <linux/kernel.h> +#include <xfuncs.h> +#include <linux/types.h> #include <linux/string.h> #define DMA_ALIGNMENT 64 -- 2.39.2