Re: [PATCH] firmware: smccc: default ARM_SMCCC_SOC_ID to disabled

From: Neil Armstrong

Date: Wed Jan 14 2026 - 12:12:32 EST


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.

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.

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...

Neil