[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aWgFPuyVRNLPH3J0@bogus>
Date: Wed, 14 Jan 2026 21:06:06 +0000
From: Sudeep Holla <sudeep.holla@....com>
To: Neil Armstrong <neil.armstrong@...aro.org>
Cc: Satya Durga Srinivasu Prabhala <satya.prabhala@....qualcomm.com>,
Mark Rutland <mark.rutland@....com>,
Sudeep Holla <sudeep.holla@....com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
linux-arm-msm@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, trilok.soni@....qualcomm.com
Subject: Re: [PATCH] firmware: smccc: default ARM_SMCCC_SOC_ID to disabled
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@....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
Powered by blists - more mailing lists