public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/4] soc: qcom: Kconfig improvements
@ 2026-04-29  8:56 Krzysztof Kozlowski
  2026-04-29  8:56 ` [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu Krzysztof Kozlowski
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  8:56 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel,
	Krzysztof Kozlowski

Make important drivers default, so people will not have to choose
obvious things and few other re-organizations.

This matches my other work for Qualcomm drivers (clock, interconnect,
pinctrl).

Best regards,
Krzysztof

---
Krzysztof Kozlowski (4):
      soc: qcom: Hide all drivers behind selectable menu
      soc: qcom: Restrict drivers per ARM/ARM64
      soc: qcom: Make important drivers default
      ARM: defconfig: qcom: Drop Qualcomm SoC drivers with defaults

 arch/arm/configs/multi_v7_defconfig |  11 ----
 arch/arm/configs/qcom_defconfig     |   7 ---
 arch/arm64/configs/defconfig        |  18 -------
 drivers/soc/qcom/Kconfig            | 103 ++++++++++++++++++++++--------------
 4 files changed, 64 insertions(+), 75 deletions(-)
---
base-commit: 9974969c14031a097d6b45bcb7a06bb4aa525c40
change-id: 20260429-qcom-soc-kconfig-1b9b31d9702a

Best regards,
--  
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu
  2026-04-29  8:56 [PATCH 0/4] soc: qcom: Kconfig improvements Krzysztof Kozlowski
@ 2026-04-29  8:56 ` Krzysztof Kozlowski
  2026-04-29  9:28   ` Konrad Dybcio
  2026-04-29  8:56 ` [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64 Krzysztof Kozlowski
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  8:56 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel,
	Krzysztof Kozlowski

Switch from a simple menu to menuconfig, so all Qualcomm SoC drivers
will be under one selectable option, allowing to disable them all which
should make kernel configuration easier when preparing a non-Qualcomm
kernel.

This has few benefits (functional impact of this commit):

1. Allow compile testing of QCOM_OCMEM, which previously required
   ARCH_QCOM.

2. Hide behind ARCH_QCOM or COMPILE_TEST drivers specific to Qualcomm
   which should not be available to other kernel builds:
   QCOM_PMIC_PDCHARGER_ULOG, QCOM_PMIC_GLINK, QCOM_SPM and QCOM_PBS.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 drivers/soc/qcom/Kconfig | 76 +++++++++++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 39 deletions(-)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 2caadbbcf830..62ce1c67d684 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -2,11 +2,21 @@
 #
 # QCOM Soc drivers
 #
-menu "Qualcomm SoC drivers"
+menuconfig QCOM_SOC
+	bool "Qualcomm SoC drivers"
+	depends on ARCH_QCOM || COMPILE_TEST
+	default ARCH_QCOM
+	help
+	  This collection of drivers is specific to Qualcomm System-on-Chips
+	  and most of them are necessary for a fully functional boot of the
+	  Linux kernel (plus a few debugging drivers).
+	  Drivers can be skipped when building Linux kernel not intended to run
+	  said processors.
+
+if QCOM_SOC
 
 config QCOM_AOSS_QMP
 	tristate "Qualcomm AOSS Driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on MAILBOX
 	depends on COMMON_CLK && PM
 	select PM_GENERIC_DOMAINS
@@ -18,7 +28,6 @@ config QCOM_AOSS_QMP
 
 config QCOM_COMMAND_DB
 	tristate "Qualcomm Command DB"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on OF_RESERVED_MEM
 	help
 	  Command DB queries shared memory by key string for shared system
@@ -28,7 +37,6 @@ config QCOM_COMMAND_DB
 
 config QCOM_GENI_SE
 	tristate "QCOM GENI Serial Engine Driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	help
 	  This driver is used to manage Generic Interface (GENI) firmware based
 	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
@@ -37,7 +45,6 @@ config QCOM_GENI_SE
 
 config QCOM_GSBI
 	tristate "QCOM General Serial Bus Interface"
-	depends on ARCH_QCOM || COMPILE_TEST
 	select MFD_SYSCON
 	help
 	  Say y here to enable GSBI support.  The GSBI provides control
@@ -46,7 +53,6 @@ config QCOM_GSBI
 
 config QCOM_LLCC
 	tristate "Qualcomm Technologies, Inc. LLCC driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	select REGMAP_MMIO
 	help
 	  Qualcomm Technologies, Inc. platform specific
@@ -56,15 +62,10 @@ config QCOM_LLCC
 
 config QCOM_KRYO_L2_ACCESSORS
 	bool
-	depends on (ARCH_QCOM || COMPILE_TEST) && ARM64
-
-config QCOM_MDT_LOADER
-	tristate
-	select QCOM_SCM
+	depends on ARM64
 
 config QCOM_OCMEM
 	tristate "Qualcomm On Chip Memory (OCMEM) driver"
-	depends on ARCH_QCOM
 	select QCOM_SCM
 	help
 	  The On Chip Memory (OCMEM) allocator allows various clients to
@@ -77,7 +78,7 @@ config QCOM_PD_MAPPER
 	select QCOM_QMI_HELPERS
 	select QCOM_PDR_MSG
 	select AUXILIARY_BUS
-	depends on NET && QRTR && (ARCH_QCOM || COMPILE_TEST)
+	depends on NET && QRTR
 	default QCOM_RPROC_COMMON
 	help
 	  The Protection Domain Mapper maps registered services to the domains
@@ -85,12 +86,6 @@ config QCOM_PD_MAPPER
 	  implementation of the service. It is a simpler alternative to the
 	  userspace daemon.
 
-config QCOM_PDR_HELPERS
-	tristate
-	select QCOM_QMI_HELPERS
-	select QCOM_PDR_MSG
-	depends on NET
-
 config QCOM_PDR_MSG
 	tristate
 
@@ -124,13 +119,8 @@ config QCOM_PMIC_GLINK
 	  Say yes here to support USB-C and battery status on modern Qualcomm
 	  platforms.
 
-config QCOM_QMI_HELPERS
-	tristate
-	depends on NET
-
 config QCOM_RAMP_CTRL
 	tristate "Qualcomm Ramp Controller driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	help
 	  The Ramp Controller is used to program the sequence ID for pulse
 	  swallowing, enable sequence and link sequence IDs for the CPU
@@ -139,7 +129,6 @@ config QCOM_RAMP_CTRL
 
 config QCOM_RMTFS_MEM
 	tristate "Qualcomm Remote Filesystem memory driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	select QCOM_SCM
 	help
 	  The Qualcomm remote filesystem memory driver is used for allocating
@@ -151,7 +140,6 @@ config QCOM_RMTFS_MEM
 
 config QCOM_RPM_MASTER_STATS
 	tristate "Qualcomm RPM Master stats"
-	depends on ARCH_QCOM || COMPILE_TEST
 	help
 	  The RPM Master sleep stats driver provides detailed per-subsystem
 	  sleep/wake data, read from the RPM message RAM. It can be used to
@@ -162,7 +150,6 @@ config QCOM_RPM_MASTER_STATS
 
 config QCOM_RPMH
 	tristate "Qualcomm RPM-Hardened (RPMH) Communication"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
 	help
 	  Support for communication with the hardened-RPM blocks in
@@ -173,7 +160,6 @@ config QCOM_RPMH
 
 config QCOM_SMEM
 	tristate "Qualcomm Shared Memory Manager (SMEM)"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on HWSPINLOCK
 	help
 	  Say y here to enable support for the Qualcomm Shared Memory Manager.
@@ -182,7 +168,6 @@ config QCOM_SMEM
 
 config QCOM_SMD_RPM
 	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n
 	help
@@ -229,7 +214,6 @@ config QCOM_SOCINFO
 
 config QCOM_SPM
 	tristate "Qualcomm Subsystem Power Manager (SPM)"
-	depends on ARCH_QCOM || COMPILE_TEST
 	select QCOM_SCM
 	help
 	  Enable the support for the Qualcomm Subsystem Power Manager, used
@@ -238,7 +222,7 @@ config QCOM_SPM
 
 config QCOM_STATS
 	tristate "Qualcomm Technologies, Inc. (QTI) Sleep stats driver"
-	depends on (ARCH_QCOM && DEBUG_FS) || COMPILE_TEST
+	depends on DEBUG_FS || COMPILE_TEST
 	depends on QCOM_SMEM
 	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
 	help
@@ -249,7 +233,6 @@ config QCOM_STATS
 
 config QCOM_WCNSS_CTRL
 	tristate "Qualcomm WCNSS control driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	help
 	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
@@ -257,7 +240,6 @@ config QCOM_WCNSS_CTRL
 
 config QCOM_APR
 	tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
-	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	depends on NET
 	select QCOM_PDR_HELPERS
@@ -269,7 +251,6 @@ config QCOM_APR
 
 config QCOM_ICC_BWMON
 	tristate "QCOM Interconnect Bandwidth Monitor driver"
-	depends on ARCH_QCOM || COMPILE_TEST
 	select PM_OPP
 	select REGMAP_MMIO
 	help
@@ -282,10 +263,6 @@ config QCOM_ICC_BWMON
 	  the fixed bandwidth votes from cpufreq (CPU nodes) thus achieve high
 	  memory throughput even with lower CPU frequencies.
 
-config QCOM_INLINE_CRYPTO_ENGINE
-	tristate
-	select QCOM_SCM
-
 config QCOM_PBS
 	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
 	depends on SPMI
@@ -295,7 +272,28 @@ config QCOM_PBS
 	  This module provides the APIs to the client drivers that wants to send the
 	  PBS trigger event to the PBS RAM.
 
-endmenu
+endif
+
+# Options selected by other drivers from different subsystems must be outside
+# of the menuconfig if-block:
+
+config QCOM_INLINE_CRYPTO_ENGINE
+	tristate
+	select QCOM_SCM
+
+config QCOM_MDT_LOADER
+	tristate
+	select QCOM_SCM
+
+config QCOM_PDR_HELPERS
+	tristate
+	select QCOM_QMI_HELPERS
+	select QCOM_PDR_MSG
+	depends on NET
+
+config QCOM_QMI_HELPERS
+	tristate
+	depends on NET
 
 config QCOM_UBWC_CONFIG
 	tristate

-- 
2.51.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64
  2026-04-29  8:56 [PATCH 0/4] soc: qcom: Kconfig improvements Krzysztof Kozlowski
  2026-04-29  8:56 ` [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu Krzysztof Kozlowski
@ 2026-04-29  8:56 ` Krzysztof Kozlowski
  2026-04-29  9:03   ` Konrad Dybcio
  2026-04-29  8:56 ` [PATCH 3/4] soc: qcom: Make important drivers default Krzysztof Kozlowski
  2026-04-29  8:56 ` [PATCH 4/4] ARM: defconfig: qcom: Drop Qualcomm SoC drivers with defaults Krzysztof Kozlowski
  3 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  8:56 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel,
	Krzysztof Kozlowski

There is no point to allow selecting core SoC drivers for Qualcomm ARMv7
SoCs when building ARM64 kernel, and vice versa.

This makes kernel configuration more difficult as many do not remember
the Qualcomm SoCs model names/numbers and their properties like
architecture.  No features should be lost because:
1. There won't be a single image for ARMv7 and ARMv8/9 SoCs.
2. Newer ARMv8/9 SoCs won't be running in arm32 emulation mode.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 drivers/soc/qcom/Kconfig | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 62ce1c67d684..9a050ba1dbcb 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -19,6 +19,7 @@ config QCOM_AOSS_QMP
 	tristate "Qualcomm AOSS Driver"
 	depends on MAILBOX
 	depends on COMMON_CLK && PM
+	depends on ARM64 || COMPILE_TEST
 	select PM_GENERIC_DOMAINS
 	help
 	  This driver provides the means of communicating with and controlling
@@ -37,6 +38,7 @@ config QCOM_COMMAND_DB
 
 config QCOM_GENI_SE
 	tristate "QCOM GENI Serial Engine Driver"
+	depends on ARM64 || COMPILE_TEST
 	help
 	  This driver is used to manage Generic Interface (GENI) firmware based
 	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
@@ -45,6 +47,7 @@ config QCOM_GENI_SE
 
 config QCOM_GSBI
 	tristate "QCOM General Serial Bus Interface"
+	depends on ARM || COMPILE_TEST
 	select MFD_SYSCON
 	help
 	  Say y here to enable GSBI support.  The GSBI provides control
@@ -53,6 +56,7 @@ config QCOM_GSBI
 
 config QCOM_LLCC
 	tristate "Qualcomm Technologies, Inc. LLCC driver"
+	depends on ARM64 || COMPILE_TEST
 	select REGMAP_MMIO
 	help
 	  Qualcomm Technologies, Inc. platform specific
@@ -108,6 +112,7 @@ config QCOM_PMIC_GLINK
 	depends on DRM
 	depends on NET
 	depends on OF
+	depends on ARM64 || COMPILE_TEST
 	select AUXILIARY_BUS
 	select QCOM_PDR_HELPERS
 	select DRM_AUX_HPD_BRIDGE
@@ -242,6 +247,7 @@ config QCOM_APR
 	tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
 	depends on RPMSG
 	depends on NET
+	depends on ARM64 || COMPILE_TEST
 	select QCOM_PDR_HELPERS
 	help
 	  Enable APR IPC protocol support between
@@ -251,6 +257,7 @@ config QCOM_APR
 
 config QCOM_ICC_BWMON
 	tristate "QCOM Interconnect Bandwidth Monitor driver"
+	depends on ARM64 || COMPILE_TEST
 	select PM_OPP
 	select REGMAP_MMIO
 	help
@@ -265,6 +272,7 @@ config QCOM_ICC_BWMON
 
 config QCOM_PBS
 	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
+	depends on ARM64 || COMPILE_TEST
 	depends on SPMI
 	help
 	  This driver supports configuring software programmable boot sequencer (PBS)

-- 
2.51.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/4] soc: qcom: Make important drivers default
  2026-04-29  8:56 [PATCH 0/4] soc: qcom: Kconfig improvements Krzysztof Kozlowski
  2026-04-29  8:56 ` [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu Krzysztof Kozlowski
  2026-04-29  8:56 ` [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64 Krzysztof Kozlowski
@ 2026-04-29  8:56 ` Krzysztof Kozlowski
  2026-04-29  9:06   ` Konrad Dybcio
  2026-04-29  8:56 ` [PATCH 4/4] ARM: defconfig: qcom: Drop Qualcomm SoC drivers with defaults Krzysztof Kozlowski
  3 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  8:56 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel,
	Krzysztof Kozlowski

The drivers for Qualcomm SoC components are covering a basic or
fundamental SoC blocks.  Usually they are required for booting or to
achieve basic expected functionality when running Linux.  These drivers
do not represent any sort of buses visible to the board
designers/configurators, thus they should be always enabled, regardless
how SoC is used in the final board.

Kernel configuration should not ask users choice of drivers when that
choice is obvious and known to the developers that answer should be
'yes' or 'module'.

Switch most of the Qualcomm SoC drivers to a default 'yes' or
'module' for ARCH_QCOM, to match existing defconfig usage.

This has no impact on arm64 defconfig, arm qcom_defconfig and arm
multi_v7_defconfig.

The change will however enable by default all drivers for arm or arm64
COMPILE_TEST builds, whenever ARCH_QCOM is selected, which feels
logical: if one selects ARCH_QCOM then probably by default wants to
build test it entirely.  Kernels with COMPILE_TEST are not supposed to
be used for booting.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 drivers/soc/qcom/Kconfig | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 9a050ba1dbcb..108fbd0610a3 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -21,6 +21,7 @@ config QCOM_AOSS_QMP
 	depends on COMMON_CLK && PM
 	depends on ARM64 || COMPILE_TEST
 	select PM_GENERIC_DOMAINS
+	default ARCH_QCOM
 	help
 	  This driver provides the means of communicating with and controlling
 	  the low-power state for resources related to the remoteproc
@@ -30,6 +31,7 @@ config QCOM_AOSS_QMP
 config QCOM_COMMAND_DB
 	tristate "Qualcomm Command DB"
 	depends on OF_RESERVED_MEM
+	default ARCH_QCOM
 	help
 	  Command DB queries shared memory by key string for shared system
 	  resources. Platform drivers that require to set state of a shared
@@ -39,6 +41,7 @@ config QCOM_COMMAND_DB
 config QCOM_GENI_SE
 	tristate "QCOM GENI Serial Engine Driver"
 	depends on ARM64 || COMPILE_TEST
+	default ARCH_QCOM
 	help
 	  This driver is used to manage Generic Interface (GENI) firmware based
 	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
@@ -48,6 +51,7 @@ config QCOM_GENI_SE
 config QCOM_GSBI
 	tristate "QCOM General Serial Bus Interface"
 	depends on ARM || COMPILE_TEST
+	default ARCH_QCOM
 	select MFD_SYSCON
 	help
 	  Say y here to enable GSBI support.  The GSBI provides control
@@ -58,6 +62,7 @@ config QCOM_LLCC
 	tristate "Qualcomm Technologies, Inc. LLCC driver"
 	depends on ARM64 || COMPILE_TEST
 	select REGMAP_MMIO
+	default m if ARCH_QCOM
 	help
 	  Qualcomm Technologies, Inc. platform specific
 	  Last Level Cache Controller(LLCC) driver for platforms such as,
@@ -71,6 +76,7 @@ config QCOM_KRYO_L2_ACCESSORS
 config QCOM_OCMEM
 	tristate "Qualcomm On Chip Memory (OCMEM) driver"
 	select QCOM_SCM
+	default m if ARCH_QCOM
 	help
 	  The On Chip Memory (OCMEM) allocator allows various clients to
 	  allocate memory from OCMEM based on performance, latency and power
@@ -116,6 +122,7 @@ config QCOM_PMIC_GLINK
 	select AUXILIARY_BUS
 	select QCOM_PDR_HELPERS
 	select DRM_AUX_HPD_BRIDGE
+	default m if ARCH_QCOM
 	help
 	  The Qualcomm PMIC GLINK driver provides access, over GLINK, to the
 	  USB and battery firmware running on one of the coprocessors in
@@ -135,6 +142,7 @@ config QCOM_RAMP_CTRL
 config QCOM_RMTFS_MEM
 	tristate "Qualcomm Remote Filesystem memory driver"
 	select QCOM_SCM
+	default m if ARCH_QCOM
 	help
 	  The Qualcomm remote filesystem memory driver is used for allocating
 	  and exposing regions of shared memory with remote processors for the
@@ -156,6 +164,7 @@ config QCOM_RPM_MASTER_STATS
 config QCOM_RPMH
 	tristate "Qualcomm RPM-Hardened (RPMH) Communication"
 	depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
+	default ARCH_QCOM
 	help
 	  Support for communication with the hardened-RPM blocks in
 	  Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
@@ -166,6 +175,7 @@ config QCOM_RPMH
 config QCOM_SMEM
 	tristate "Qualcomm Shared Memory Manager (SMEM)"
 	depends on HWSPINLOCK
+	default ARCH_QCOM
 	help
 	  Say y here to enable support for the Qualcomm Shared Memory Manager.
 	  The driver provides an interface to items in a heap shared among all
@@ -175,6 +185,7 @@ config QCOM_SMD_RPM
 	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
 	depends on RPMSG
 	depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n
+	default ARCH_QCOM
 	help
 	  If you say yes to this option, support will be included for the
 	  Resource Power Manager system found in the Qualcomm 8974 based
@@ -195,6 +206,7 @@ config QCOM_SMP2P
 	depends on QCOM_SMEM
 	select QCOM_SMEM_STATE
 	select IRQ_DOMAIN
+	default ARCH_QCOM
 	help
 	  Say yes here to support the Qualcomm Shared Memory Point to Point
 	  protocol.
@@ -205,6 +217,7 @@ config QCOM_SMSM
 	depends on QCOM_SMEM
 	select QCOM_SMEM_STATE
 	select IRQ_DOMAIN
+	default ARCH_QCOM
 	help
 	  Say yes here to support the Qualcomm Shared Memory State Machine.
 	  The state machine is represented by bits in shared memory.
@@ -213,6 +226,7 @@ config QCOM_SOCINFO
 	tristate "Qualcomm socinfo driver"
 	depends on QCOM_SMEM
 	select SOC_BUS
+	default m if ARCH_QCOM
 	help
 	 Say yes here to support the Qualcomm socinfo driver, providing
 	 information about the SoC to user space.
@@ -230,6 +244,7 @@ config QCOM_STATS
 	depends on DEBUG_FS || COMPILE_TEST
 	depends on QCOM_SMEM
 	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
+	default m if ARCH_QCOM
 	help
 	  Qualcomm Technologies, Inc. (QTI) Sleep stats driver to read
 	  the shared memory exported by the remote processor related to
@@ -239,6 +254,7 @@ config QCOM_STATS
 config QCOM_WCNSS_CTRL
 	tristate "Qualcomm WCNSS control driver"
 	depends on RPMSG
+	default m if ARCH_QCOM
 	help
 	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
 	  firmware to a newly booted WCNSS chip.
@@ -249,6 +265,7 @@ config QCOM_APR
 	depends on NET
 	depends on ARM64 || COMPILE_TEST
 	select QCOM_PDR_HELPERS
+	default m if ARCH_QCOM
 	help
 	  Enable APR IPC protocol support between
 	  application processor and QDSP6. APR is
@@ -260,6 +277,7 @@ config QCOM_ICC_BWMON
 	depends on ARM64 || COMPILE_TEST
 	select PM_OPP
 	select REGMAP_MMIO
+	default m if ARCH_QCOM
 	help
 	  Sets up driver monitoring bandwidth on various interconnects and
 	  based on that voting for interconnect bandwidth, adjusting their
@@ -274,6 +292,7 @@ config QCOM_PBS
 	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
 	depends on ARM64 || COMPILE_TEST
 	depends on SPMI
+	default m if ARCH_QCOM
 	help
 	  This driver supports configuring software programmable boot sequencer (PBS)
 	  trigger event through PBS RAM on Qualcomm Technologies, Inc. PMICs.

-- 
2.51.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/4] ARM: defconfig: qcom: Drop Qualcomm SoC drivers with defaults
  2026-04-29  8:56 [PATCH 0/4] soc: qcom: Kconfig improvements Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2026-04-29  8:56 ` [PATCH 3/4] soc: qcom: Make important drivers default Krzysztof Kozlowski
@ 2026-04-29  8:56 ` Krzysztof Kozlowski
  3 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  8:56 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel,
	Krzysztof Kozlowski

Several Qualcomm SoC drivers have defaults, so their defconfig entries
are redundant.  Keep the few options which choose specific choice
different than the default.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
 arch/arm/configs/multi_v7_defconfig | 11 -----------
 arch/arm/configs/qcom_defconfig     |  7 -------
 arch/arm64/configs/defconfig        | 18 ------------------
 3 files changed, 36 deletions(-)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index bcc9aabc1202..09abe406d2a5 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -1152,17 +1152,6 @@ CONFIG_ASPEED_LPC_CTRL=m
 CONFIG_ASPEED_LPC_SNOOP=m
 CONFIG_ASPEED_P2A_CTRL=m
 CONFIG_QCOM_COMMAND_DB=m
-CONFIG_QCOM_GSBI=y
-CONFIG_QCOM_OCMEM=m
-CONFIG_QCOM_RMTFS_MEM=m
-CONFIG_QCOM_RPMH=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=y
-CONFIG_QCOM_SOCINFO=m
-CONFIG_QCOM_STATS=m
-CONFIG_QCOM_WCNSS_CTRL=m
 CONFIG_ROCKCHIP_IODOMAIN=y
 CONFIG_SOC_TI=y
 CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
index 29a1dea500f0..b738e7f8a5e9 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -249,16 +249,9 @@ CONFIG_RPMSG_CHAR=y
 CONFIG_RPMSG_CTRL=y
 CONFIG_RPMSG_QCOM_GLINK_SMEM=y
 CONFIG_RPMSG_QCOM_SMD=y
-CONFIG_QCOM_COMMAND_DB=y
-CONFIG_QCOM_GSBI=y
 CONFIG_QCOM_OCMEM=y
 CONFIG_QCOM_PM=y
 CONFIG_QCOM_RMTFS_MEM=y
-CONFIG_QCOM_RPMH=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=y
 CONFIG_QCOM_SOCINFO=y
 CONFIG_QCOM_STATS=y
 CONFIG_QCOM_WCNSS_CTRL=y
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index dd1ac01ee29b..116d0b17e404 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1656,25 +1656,7 @@ CONFIG_MTK_CMDQ=m
 CONFIG_MTK_DEVAPC=m
 CONFIG_MTK_PMIC_WRAP=y
 CONFIG_MTK_SVS=m
-CONFIG_QCOM_AOSS_QMP=y
-CONFIG_QCOM_COMMAND_DB=y
-CONFIG_QCOM_GENI_SE=y
-CONFIG_QCOM_LLCC=m
-CONFIG_QCOM_OCMEM=m
-CONFIG_QCOM_PMIC_GLINK=m
-CONFIG_QCOM_RMTFS_MEM=m
-CONFIG_QCOM_RPMH=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=y
-CONFIG_QCOM_SOCINFO=m
 CONFIG_QCOM_SPM=m
-CONFIG_QCOM_STATS=m
-CONFIG_QCOM_WCNSS_CTRL=m
-CONFIG_QCOM_APR=m
-CONFIG_QCOM_ICC_BWMON=m
-CONFIG_QCOM_PBS=m
 CONFIG_ROCKCHIP_IODOMAIN=y
 CONFIG_TI_PRUSS=m
 CONFIG_OWL_PM_DOMAINS=y

-- 
2.51.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64
  2026-04-29  8:56 ` [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64 Krzysztof Kozlowski
@ 2026-04-29  9:03   ` Konrad Dybcio
  2026-04-29  9:10     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2026-04-29  9:03 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 4/29/26 10:56 AM, Krzysztof Kozlowski wrote:
> There is no point to allow selecting core SoC drivers for Qualcomm ARMv7
> SoCs when building ARM64 kernel, and vice versa.
> 
> This makes kernel configuration more difficult as many do not remember
> the Qualcomm SoCs model names/numbers and their properties like
> architecture.  No features should be lost because:
> 1. There won't be a single image for ARMv7 and ARMv8/9 SoCs.
> 2. Newer ARMv8/9 SoCs won't be running in arm32 emulation mode.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---

[...]

>  drivers/soc/qcom/Kconfig | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
> index 62ce1c67d684..9a050ba1dbcb 100644
> --- a/drivers/soc/qcom/Kconfig
> +++ b/drivers/soc/qcom/Kconfig
> @@ -19,6 +19,7 @@ config QCOM_AOSS_QMP
>  	tristate "Qualcomm AOSS Driver"
>  	depends on MAILBOX
>  	depends on COMMON_CLK && PM
> +	depends on ARM64 || COMPILE_TEST

SDX65

>  	select PM_GENERIC_DOMAINS
>  	help
>  	  This driver provides the means of communicating with and controlling
> @@ -37,6 +38,7 @@ config QCOM_COMMAND_DB
>  
>  config QCOM_GENI_SE
>  	tristate "QCOM GENI Serial Engine Driver"
> +	depends on ARM64 || COMPILE_TEST

OK

>  	help
>  	  This driver is used to manage Generic Interface (GENI) firmware based
>  	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
> @@ -45,6 +47,7 @@ config QCOM_GENI_SE
>  
>  config QCOM_GSBI
>  	tristate "QCOM General Serial Bus Interface"
> +	depends on ARM || COMPILE_TEST

OK

>  	select MFD_SYSCON
>  	help
>  	  Say y here to enable GSBI support.  The GSBI provides control
> @@ -53,6 +56,7 @@ config QCOM_GSBI
>  
>  config QCOM_LLCC
>  	tristate "Qualcomm Technologies, Inc. LLCC driver"
> +	depends on ARM64 || COMPILE_TEST

SDX65

>  	select REGMAP_MMIO
>  	help
>  	  Qualcomm Technologies, Inc. platform specific
> @@ -108,6 +112,7 @@ config QCOM_PMIC_GLINK
>  	depends on DRM
>  	depends on NET
>  	depends on OF
> +	depends on ARM64 || COMPILE_TEST

Probably OK?

>  	select AUXILIARY_BUS
>  	select QCOM_PDR_HELPERS
>  	select DRM_AUX_HPD_BRIDGE
> @@ -242,6 +247,7 @@ config QCOM_APR
>  	tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
>  	depends on RPMSG
>  	depends on NET
> +	depends on ARM64 || COMPILE_TEST

This I think goes back to <2012 SoCs

>  	select QCOM_PDR_HELPERS
>  	help
>  	  Enable APR IPC protocol support between
> @@ -251,6 +257,7 @@ config QCOM_APR
>  
>  config QCOM_ICC_BWMON
>  	tristate "QCOM Interconnect Bandwidth Monitor driver"
> +	depends on ARM64 || COMPILE_TEST

This is OK currently, some arm32 targets have an older (unsupported today)
BWMON, I don't know if they would be using the same driver or not

>  	select PM_OPP
>  	select REGMAP_MMIO
>  	help
> @@ -265,6 +272,7 @@ config QCOM_ICC_BWMON
>  
>  config QCOM_PBS
>  	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
> +	depends on ARM64 || COMPILE_TEST

MSM8909+PM660 exists and makes use of that

Konrad


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/4] soc: qcom: Make important drivers default
  2026-04-29  8:56 ` [PATCH 3/4] soc: qcom: Make important drivers default Krzysztof Kozlowski
@ 2026-04-29  9:06   ` Konrad Dybcio
  2026-04-29 16:10     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2026-04-29  9:06 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 4/29/26 10:56 AM, Krzysztof Kozlowski wrote:
> The drivers for Qualcomm SoC components are covering a basic or
> fundamental SoC blocks.  Usually they are required for booting or to
> achieve basic expected functionality when running Linux.  These drivers
> do not represent any sort of buses visible to the board
> designers/configurators, thus they should be always enabled, regardless
> how SoC is used in the final board.
> 
> Kernel configuration should not ask users choice of drivers when that
> choice is obvious and known to the developers that answer should be
> 'yes' or 'module'.
> 
> Switch most of the Qualcomm SoC drivers to a default 'yes' or
> 'module' for ARCH_QCOM, to match existing defconfig usage.
> 
> This has no impact on arm64 defconfig, arm qcom_defconfig and arm
> multi_v7_defconfig.
> 
> The change will however enable by default all drivers for arm or arm64
> COMPILE_TEST builds, whenever ARCH_QCOM is selected, which feels
> logical: if one selects ARCH_QCOM then probably by default wants to
> build test it entirely.  Kernels with COMPILE_TEST are not supposed to
> be used for booting.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Please also add:

QCOM_RMTFS_MEM (required for modem)
QCOM_SPM (cpufreq-adjacent on some platforms)

Konrad


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64
  2026-04-29  9:03   ` Konrad Dybcio
@ 2026-04-29  9:10     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29  9:10 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 29/04/2026 11:03, Konrad Dybcio wrote:
> On 4/29/26 10:56 AM, Krzysztof Kozlowski wrote:
>> There is no point to allow selecting core SoC drivers for Qualcomm ARMv7
>> SoCs when building ARM64 kernel, and vice versa.
>>
>> This makes kernel configuration more difficult as many do not remember
>> the Qualcomm SoCs model names/numbers and their properties like
>> architecture.  No features should be lost because:
>> 1. There won't be a single image for ARMv7 and ARMv8/9 SoCs.
>> 2. Newer ARMv8/9 SoCs won't be running in arm32 emulation mode.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>> ---
> 
> [...]
> 
>>  drivers/soc/qcom/Kconfig | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
>> index 62ce1c67d684..9a050ba1dbcb 100644
>> --- a/drivers/soc/qcom/Kconfig
>> +++ b/drivers/soc/qcom/Kconfig
>> @@ -19,6 +19,7 @@ config QCOM_AOSS_QMP
>>  	tristate "Qualcomm AOSS Driver"
>>  	depends on MAILBOX
>>  	depends on COMMON_CLK && PM
>> +	depends on ARM64 || COMPILE_TEST
> 
> SDX65

Ack, although not in upstream DTS.

> 
>>  	select PM_GENERIC_DOMAINS
>>  	help
>>  	  This driver provides the means of communicating with and controlling
>> @@ -37,6 +38,7 @@ config QCOM_COMMAND_DB
>>  
>>  config QCOM_GENI_SE
>>  	tristate "QCOM GENI Serial Engine Driver"
>> +	depends on ARM64 || COMPILE_TEST
> 
> OK
> 
>>  	help
>>  	  This driver is used to manage Generic Interface (GENI) firmware based
>>  	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
>> @@ -45,6 +47,7 @@ config QCOM_GENI_SE
>>  
>>  config QCOM_GSBI
>>  	tristate "QCOM General Serial Bus Interface"
>> +	depends on ARM || COMPILE_TEST
> 
> OK
> 
>>  	select MFD_SYSCON
>>  	help
>>  	  Say y here to enable GSBI support.  The GSBI provides control
>> @@ -53,6 +56,7 @@ config QCOM_GSBI
>>  
>>  config QCOM_LLCC
>>  	tristate "Qualcomm Technologies, Inc. LLCC driver"
>> +	depends on ARM64 || COMPILE_TEST
> 
> SDX65

Ack

> 
>>  	select REGMAP_MMIO
>>  	help
>>  	  Qualcomm Technologies, Inc. platform specific
>> @@ -108,6 +112,7 @@ config QCOM_PMIC_GLINK
>>  	depends on DRM
>>  	depends on NET
>>  	depends on OF
>> +	depends on ARM64 || COMPILE_TEST
> 
> Probably OK?
> 
>>  	select AUXILIARY_BUS
>>  	select QCOM_PDR_HELPERS
>>  	select DRM_AUX_HPD_BRIDGE
>> @@ -242,6 +247,7 @@ config QCOM_APR
>>  	tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
>>  	depends on RPMSG
>>  	depends on NET
>> +	depends on ARM64 || COMPILE_TEST
> 
> This I think goes back to <2012 SoCs

It could, but there is no upstream DTS in arm32. It is however in few
old like 8916 which might be running in arm32 mode, so I guess better to
drop it.

> 
>>  	select QCOM_PDR_HELPERS
>>  	help
>>  	  Enable APR IPC protocol support between
>> @@ -251,6 +257,7 @@ config QCOM_APR
>>  
>>  config QCOM_ICC_BWMON
>>  	tristate "QCOM Interconnect Bandwidth Monitor driver"
>> +	depends on ARM64 || COMPILE_TEST
> 
> This is OK currently, some arm32 targets have an older (unsupported today)
> BWMON, I don't know if they would be using the same driver or not

They would get their own compatible, thus driver would be changed.  The
depends here is for current driver.

> 
>>  	select PM_OPP
>>  	select REGMAP_MMIO
>>  	help
>> @@ -265,6 +272,7 @@ config QCOM_ICC_BWMON
>>  
>>  config QCOM_PBS
>>  	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
>> +	depends on ARM64 || COMPILE_TEST
> 
> MSM8909+PM660 exists and makes use of that

Well, not in upstream, but I get your point.

> 
> Konrad


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu
  2026-04-29  8:56 ` [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu Krzysztof Kozlowski
@ 2026-04-29  9:28   ` Konrad Dybcio
  2026-04-29 15:30     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2026-04-29  9:28 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 4/29/26 10:56 AM, Krzysztof Kozlowski wrote:
> Switch from a simple menu to menuconfig, so all Qualcomm SoC drivers
> will be under one selectable option, allowing to disable them all which
> should make kernel configuration easier when preparing a non-Qualcomm
> kernel.
> 
> This has few benefits (functional impact of this commit):
> 
> 1. Allow compile testing of QCOM_OCMEM, which previously required
>    ARCH_QCOM.
> 
> 2. Hide behind ARCH_QCOM or COMPILE_TEST drivers specific to Qualcomm
>    which should not be available to other kernel builds:
>    QCOM_PMIC_PDCHARGER_ULOG, QCOM_PMIC_GLINK, QCOM_SPM and QCOM_PBS.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---

[...]

> +# Options selected by other drivers from different subsystems must be outside
> +# of the menuconfig if-block:
> +
> +config QCOM_INLINE_CRYPTO_ENGINE
> +	tristate
> +	select QCOM_SCM
> +
> +config QCOM_MDT_LOADER
> +	tristate
> +	select QCOM_SCM
> +
> +config QCOM_PDR_HELPERS
> +	tristate
> +	select QCOM_QMI_HELPERS
> +	select QCOM_PDR_MSG
> +	depends on NET
> +
> +config QCOM_QMI_HELPERS
> +	tristate
> +	depends on NET

also:

QCOM_KRYO_L2_ACCESSORS -> drivers/perf/Kconfig
QCOM_SPM -> drivers/cpuidle/Kconfig.arm

Konrad


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu
  2026-04-29  9:28   ` Konrad Dybcio
@ 2026-04-29 15:30     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29 15:30 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 29/04/2026 11:28, Konrad Dybcio wrote:
>> +config QCOM_PDR_HELPERS
>> +	tristate
>> +	select QCOM_QMI_HELPERS
>> +	select QCOM_PDR_MSG
>> +	depends on NET
>> +
>> +config QCOM_QMI_HELPERS
>> +	tristate
>> +	depends on NET
> 
> also:
> 
> QCOM_KRYO_L2_ACCESSORS -> drivers/perf/Kconfig

Ack

> QCOM_SPM -> drivers/cpuidle/Kconfig.arm

Heh, that's user-selectable driver, so I think we should change the
select into dependency. It will make choice a bit more complex for arm32
- the SPM cpuidle driver will be hidden if this is not selected. But
alternative is that this driver will be outside of entire menuconfig.

Does changing to "depends" feel right?

> 
> Konrad


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/4] soc: qcom: Make important drivers default
  2026-04-29  9:06   ` Konrad Dybcio
@ 2026-04-29 16:10     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-29 16:10 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

On 29/04/2026 11:06, Konrad Dybcio wrote:
> On 4/29/26 10:56 AM, Krzysztof Kozlowski wrote:
>> The drivers for Qualcomm SoC components are covering a basic or
>> fundamental SoC blocks.  Usually they are required for booting or to
>> achieve basic expected functionality when running Linux.  These drivers
>> do not represent any sort of buses visible to the board
>> designers/configurators, thus they should be always enabled, regardless
>> how SoC is used in the final board.
>>
>> Kernel configuration should not ask users choice of drivers when that
>> choice is obvious and known to the developers that answer should be
>> 'yes' or 'module'.
>>
>> Switch most of the Qualcomm SoC drivers to a default 'yes' or
>> 'module' for ARCH_QCOM, to match existing defconfig usage.
>>
>> This has no impact on arm64 defconfig, arm qcom_defconfig and arm
>> multi_v7_defconfig.
>>
>> The change will however enable by default all drivers for arm or arm64
>> COMPILE_TEST builds, whenever ARCH_QCOM is selected, which feels
>> logical: if one selects ARCH_QCOM then probably by default wants to
>> build test it entirely.  Kernels with COMPILE_TEST are not supposed to
>> be used for booting.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>> ---
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> 
> Please also add:
> 
> QCOM_RMTFS_MEM (required for modem)

It's in the patch.

> QCOM_SPM (cpufreq-adjacent on some platforms)

I assume only for arm, because none of arm64 compatibles are present in
upstream DTS.

> 
> Konrad


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-04-29 16:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-29  8:56 [PATCH 0/4] soc: qcom: Kconfig improvements Krzysztof Kozlowski
2026-04-29  8:56 ` [PATCH 1/4] soc: qcom: Hide all drivers behind selectable menu Krzysztof Kozlowski
2026-04-29  9:28   ` Konrad Dybcio
2026-04-29 15:30     ` Krzysztof Kozlowski
2026-04-29  8:56 ` [PATCH 2/4] soc: qcom: Restrict drivers per ARM/ARM64 Krzysztof Kozlowski
2026-04-29  9:03   ` Konrad Dybcio
2026-04-29  9:10     ` Krzysztof Kozlowski
2026-04-29  8:56 ` [PATCH 3/4] soc: qcom: Make important drivers default Krzysztof Kozlowski
2026-04-29  9:06   ` Konrad Dybcio
2026-04-29 16:10     ` Krzysztof Kozlowski
2026-04-29  8:56 ` [PATCH 4/4] ARM: defconfig: qcom: Drop Qualcomm SoC drivers with defaults Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox