Re: [PATCH] firmware: smccc: default ARM_SMCCC_SOC_ID to disabled
From: Satya Durga Srinivasu Prabhala
Date: Thu Jan 15 2026 - 15:24:30 EST
Hello Neil,
On 1/14/2026 9:12 AM, Neil Armstrong wrote:
On 1/13/26 07:24, Satya Durga Srinivasu Prabhala wrote:
The ARM SMCCC SoC ID driver is currently enabled by default and publishes
SMCCC-provided SoC identification into /sys/bus/soc/devices/socX/*.
On platforms where a vendor SoC driver already exposes widely-consumed
attributes (e.g. Qualcomm socinfo [1]), enabling the SMCCC driver changes
the format of /sys/devices/soc0/soc_id (e.g. "jep106:XXYY:ZZZZ" instead
of a vendor logical ID like "519") and breaks existing userspace consumers.
Flip the default of CONFIG_ARM_SMCCC_SOC_ID from y to n. Platforms that
prefer SMCCC over a vendor driver can explicitly enable it.
This avoids unexpected format changes and keeps the generic SoC sysfs
stable on systems that rely on vendor-specific identification.
[1]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/soc/qcom/socinfo.c
Signed-off-by: Satya Durga Srinivasu Prabhala <satya.prabhala@xxxxxxxxxxxxxxxx>
---
drivers/firmware/smccc/Kconfig | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/firmware/smccc/Kconfig b/drivers/firmware/smccc/Kconfig
index 15e7466179a6..f830d11ebdca 100644
--- a/drivers/firmware/smccc/Kconfig
+++ b/drivers/firmware/smccc/Kconfig
@@ -18,8 +18,11 @@ config HAVE_ARM_SMCCC_DISCOVERY
config ARM_SMCCC_SOC_ID
bool "SoC bus device for the ARM SMCCC SOC_ID"
depends on HAVE_ARM_SMCCC_DISCOVERY
- default y
+ default n
select SOC_BUS
help
Include support for the SoC bus on the ARM SMCCC firmware based
platforms providing some sysfs information about the SoC variant.
+ Note: Several vendor platforms provide their own SoC information
+ drivers under drivers/soc/*. To avoid conflicting sysfs attribute
+ formats in /sys/devices/socX/*, this driver defaults to disabled.
---
base-commit: b71e635feefc852405b14620a7fc58c4c80c0f73
change-id: 20260112-disable_smccc_soc_id-ed09ef4d777f
Best regards,
Disabling it by default impacts other platforms, the arm64 kernel is designed
to be generic and run on any platform with defconfig and from the same build,
please don't forget that.
Thanks.
If you want to ship an arm64 kernel tailored for Qualcomm platforms, you're
allowed, and you're also allowed to disable ARM_SMCCC_SOC_ID.
Not entirely true. Say in case of Android / GKI, ARM_SMCCC_SOC_ID gets enabled
by default and we do not have a way to disable it.
The soc sysfs interface is designed to support multiple source of information,
from vendor (like qcom socinfo) and smccc ID. And this is well documented,
and pretty obvious...
Yes, it is indeed obvious. The point to note is vendor interface existed
from long time and unfortunately user space had made certain assumptions.
All, we need is a way for vendor to choose which interface to be provided
to user space to make sure user space isn't broken.
Neil