[PATCH] firmware: smccc: default ARM_SMCCC_SOC_ID to disabled

Sudeep Holla sudeep.holla at arm.com
Wed Jan 14 13:06:06 PST 2026


On Wed, Jan 14, 2026 at 06:12:29PM +0100, 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 at oss.qualcomm.com>
> > ---
> >   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.
> 

Exactly!

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

Indeed, otherwise soc_device_register() would have failed for more than one
calls to it if that was the design/intention.

-- 
Regards,
Sudeep



More information about the linux-arm-kernel mailing list