[PATCH 01/18] arm: xilinx: Guard mach sys_proto.h against multiple inclusion

Michal Simek michal.simek at amd.com
Tue Jun 23 14:53:26 CEST 2026


The Versal and Versal Gen 2 mach sys_proto.h headers lacked an include
guard. mach-versal/sys_proto.h additionally defines enum tcm_mode, so
including it twice in one translation unit fails to build with a
redeclaration error.

This is about to happen in firmware-zynqmp.c, which needs the SoC
prototypes unconditionally for the upcoming weak/strong multiboot and
bootmode accessors. Add the standard _ASM_ARCH_SYS_PROTO_H guard, as
already used by mach-zynqmp, so the header can be included more than once.

Signed-off-by: Michal Simek <michal.simek at amd.com>
---

 arch/arm/mach-versal/include/mach/sys_proto.h  | 5 +++++
 arch/arm/mach-versal2/include/mach/sys_proto.h | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/arch/arm/mach-versal/include/mach/sys_proto.h b/arch/arm/mach-versal/include/mach/sys_proto.h
index a6dfa556966d..b53e616e47be 100644
--- a/arch/arm/mach-versal/include/mach/sys_proto.h
+++ b/arch/arm/mach-versal/include/mach/sys_proto.h
@@ -3,6 +3,9 @@
  * Copyright 2016 - 2018 Xilinx, Inc.
  */
 
+#ifndef _ASM_ARCH_SYS_PROTO_H
+#define _ASM_ARCH_SYS_PROTO_H
+
 #include <linux/build_bug.h>
 
 enum tcm_mode {
@@ -13,3 +16,5 @@ enum tcm_mode {
 void initialize_tcm(enum tcm_mode mode);
 void tcm_init(enum tcm_mode mode);
 void mem_map_fill(void);
+
+#endif /* _ASM_ARCH_SYS_PROTO_H */
diff --git a/arch/arm/mach-versal2/include/mach/sys_proto.h b/arch/arm/mach-versal2/include/mach/sys_proto.h
index cee134886208..3ed0b25be802 100644
--- a/arch/arm/mach-versal2/include/mach/sys_proto.h
+++ b/arch/arm/mach-versal2/include/mach/sys_proto.h
@@ -4,8 +4,13 @@
  * Copyright (C) 2022 - 2024, Advanced Micro Devices, Inc.
  */
 
+#ifndef _ASM_ARCH_SYS_PROTO_H
+#define _ASM_ARCH_SYS_PROTO_H
+
 #include <linux/build_bug.h>
 #include <asm/armv8/mmu.h>
 
 void mem_map_fill(struct mm_region *bank_info, u32 num_banks);
 void fill_bd_mem_info(void);
+
+#endif /* _ASM_ARCH_SYS_PROTO_H */
-- 
2.43.0



More information about the U-Boot mailing list