[PATCH v2 2/6] arm: snapdragon: Guard PSCI functions with CONFIG_ARM_SMCCC

Balaji Selvanathan balaji.selvanathan at oss.qualcomm.com
Mon Jun 8 11:06:29 CEST 2026


In snagboot mode, U-Boot is loaded directly by XBL without PSCI
firmware support. The functions show_psci_version() and
qcom_psci_fixup() call arm_smccc_smc() which is unavailable when
CONFIG_ARM_SMCCC is disabled, causing build failures.

Wrap both functions with CONFIG_ARM_SMCCC guards and provide
empty inline stubs for the disabled case.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
---
Changes in v2:
- Newly introduced in v2
---
 arch/arm/mach-snapdragon/board.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 829a0109ac7..be4bdd49cf6 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -158,6 +158,7 @@ static int qcom_parse_memory(const void *fdt)
 	return 0;
 }
 
+#ifdef CONFIG_ARM_SMCCC
 static void show_psci_version(void)
 {
 	struct arm_smccc_res res;
@@ -172,6 +173,12 @@ static void show_psci_version(void)
 	      PSCI_VERSION_MAJOR(res.a0),
 	      PSCI_VERSION_MINOR(res.a0));
 }
+#else
+static inline void show_psci_version(void)
+{
+	/* PSCI not available - no-op */
+}
+#endif
 
 /**
  * Most MSM8916 devices in the wild shipped without PSCI support, but the
@@ -180,6 +187,7 @@ static void show_psci_version(void)
  * firmware driver doesn't bind (which then binds a sysreset driver that won't
  * work).
  */
+#ifdef CONFIG_ARM_SMCCC
 static void qcom_psci_fixup(void *fdt)
 {
 	int offset, ret;
@@ -199,6 +207,12 @@ static void qcom_psci_fixup(void *fdt)
 	if (ret)
 		log_err("Failed to delete /psci node: %d\n", ret);
 }
+#else
+static inline void qcom_psci_fixup(void *fdt)
+{
+	/* PSCI not available - no-op */
+}
+#endif
 
 /* We support booting U-Boot with an internal DT when running as a first-stage bootloader
  * or for supporting quirky devices where it's easier to leave the downstream DT in place

-- 
2.34.1



More information about the U-Boot mailing list