mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 16:53:20 -04:00
soc: qcom: Hide all drivers behind selectable menu
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> Link: https://lore.kernel.org/r/20260711-qcom-soc-kconfig-v2-1-4a907e064281@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
982af1cc6c
commit
f2866e6a27
@@ -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 "Qualcomm 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 "Qualcomm 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 LLCC driver"
|
||||
depends on ARCH_QCOM || COMPILE_TEST
|
||||
select REGMAP_MMIO
|
||||
help
|
||||
Qualcomm Technologies, Inc. platform specific
|
||||
@@ -54,17 +60,8 @@ config QCOM_LLCC
|
||||
SDM845. This provides interfaces to clients that use the LLCC.
|
||||
Say yes here to enable LLCC slice driver.
|
||||
|
||||
config QCOM_KRYO_L2_ACCESSORS
|
||||
bool
|
||||
depends on (ARCH_QCOM || COMPILE_TEST) && ARM64
|
||||
|
||||
config QCOM_MDT_LOADER
|
||||
tristate
|
||||
select QCOM_SCM
|
||||
|
||||
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 +74,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 +82,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 +115,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 +125,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 +136,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 +146,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 +156,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 +164,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 +210,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 +218,7 @@ config QCOM_SPM
|
||||
|
||||
config QCOM_STATS
|
||||
tristate "Qualcomm 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 +229,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 +236,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 +247,6 @@ config QCOM_APR
|
||||
|
||||
config QCOM_ICC_BWMON
|
||||
tristate "Qualcomm Interconnect Bandwidth Monitor driver"
|
||||
depends on ARCH_QCOM || COMPILE_TEST
|
||||
select PM_OPP
|
||||
select REGMAP_MMIO
|
||||
help
|
||||
@@ -282,10 +259,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 PMICs"
|
||||
depends on SPMI
|
||||
@@ -295,7 +268,32 @@ 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_KRYO_L2_ACCESSORS
|
||||
bool
|
||||
depends on ARM64
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user