From: Andrew Davis <afd@ti.com>
To: Russell King <linux@armlinux.org.uk>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
"Paul Walmsley" <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Philipp Zabel <p.zabel@pengutronix.de>,
Arnd Bergmann <arnd@arndb.de>
Cc: <linux-arm-kernel@lists.infradead.org>,
<linux-mips@vger.kernel.org>, <linux-riscv@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, "Andrew Davis" <afd@ti.com>
Subject: [PATCH] reset: Remove ARCH_HAS_RESET_CONTROLLER Kconfig symbol
Date: Thu, 12 Nov 2026 15:42:22 -0600 [thread overview]
Message-ID: <20261112214223.765100-1-afd@ti.com> (raw)
Many ARCH_HAS_* symbols change some behavior based on what an ARCH
supports, but ARCH_HAS_RESET_CONTROLLER is used only to set a default
for RESET_CONTROLLER. Those ARCH symbols that select this can skip the
middleman and directly select RESET_CONTROLLER, and many already do.
Replace all selection of this symbol with a direct selection of
RESET_CONTROLLER when it is not already in the selection list. In the
latter case when RESET_CONTROLLER is also already selected we can simply
remove the ARCH_HAS_RESET_CONTROLLER without changing existing behavior.
Some ARCHs "select" this symbol when they actually "depend on" the
RESET_CONTROLLER framework to build, in those cases the indirect select
could lead to broken randconfig builds. In cases when it is not needed
for building the ARCH code, these selections can be switched to the weaker
"imply" to allow it deselected for minimal builds without reset support.
Additional checking will be needed to find such cases.
Signed-off-by: Andrew Davis <afd@ti.com>
---
arch/arm/Kconfig | 2 +-
arch/arm/Kconfig.platforms | 1 -
arch/arm/mach-bcm/Kconfig | 4 ++--
arch/arm/mach-berlin/Kconfig | 2 +-
arch/arm/mach-ep93xx/Kconfig | 2 +-
arch/arm/mach-gemini/Kconfig | 2 +-
arch/arm/mach-imx/Kconfig | 2 +-
arch/arm/mach-keystone/Kconfig | 2 +-
arch/arm/mach-mmp/Kconfig | 6 +++---
arch/arm/mach-omap2/Kconfig | 1 -
arch/arm/mach-rockchip/Kconfig | 2 +-
arch/arm/mach-socfpga/Kconfig | 1 -
arch/arm/mach-sti/Kconfig | 1 -
arch/arm/mach-stm32/Kconfig | 1 -
arch/arm/mach-sunxi/Kconfig | 1 -
arch/arm/mach-tegra/Kconfig | 1 -
arch/arm/mach-zynq/Kconfig | 2 +-
arch/arm64/Kconfig.platforms | 9 +++------
arch/mips/Kconfig | 6 ++----
arch/riscv/Kconfig.socs | 2 +-
drivers/reset/Kconfig | 4 ----
21 files changed, 19 insertions(+), 35 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0cc289a7184ab..dd039f349e45e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -473,7 +473,7 @@ source "arch/arm/mach-zynq/Kconfig"
config ARCH_LPC18XX
bool "NXP LPC18xx/LPC43xx (DEPRECATED)"
depends on ARM_SINGLE_ARMV7M
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_AMBA
select CLKSRC_LPC32XX
select PINCTRL
diff --git a/arch/arm/Kconfig.platforms b/arch/arm/Kconfig.platforms
index 2e118b65f93b4..e89d515c0c378 100644
--- a/arch/arm/Kconfig.platforms
+++ b/arch/arm/Kconfig.platforms
@@ -191,7 +191,6 @@ endif
config ARCH_UNIPHIER
bool "Socionext UniPhier SoCs"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
select ARM_GLOBAL_TIMER
select ARM_GIC
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 24bc6e18d8067..d91629f4ffc8d 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -182,7 +182,7 @@ config ARCH_BCM_53573
config ARCH_BRCMSTB
bool "Broadcom BCM7XXX based boards"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_AMBA
select ARM_GIC
select ARM_GIC_V3
@@ -229,7 +229,7 @@ config ARCH_BCMBCA_CORTEXA9
bool "Cortex-A9 SoCS"
select ARM_ERRATA_754322
select ARM_ERRATA_764369 if SMP
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_GLOBAL_TIMER
select CACHE_L2X0
select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-berlin/Kconfig b/arch/arm/mach-berlin/Kconfig
index 01861fa72c971..2447f62da52ab 100644
--- a/arch/arm/mach-berlin/Kconfig
+++ b/arch/arm/mach-berlin/Kconfig
@@ -2,7 +2,7 @@
menuconfig ARCH_BERLIN
bool "Marvell Berlin SoCs"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_GIC
select DW_APB_ICTL
select DW_APB_TIMER_OF
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
index 812b71dcf60e0..5573a8e90a8b5 100644
--- a/arch/arm/mach-ep93xx/Kconfig
+++ b/arch/arm/mach-ep93xx/Kconfig
@@ -5,7 +5,7 @@ menuconfig ARCH_EP93XX
depends on ARCH_MULTI_V4T
# CONFIG_ARCH_MULTI_V7 is not set
depends on CPU_LITTLE_ENDIAN
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARCH_SPARSEMEM_ENABLE
select ARM_AMBA
select ARM_VIC
diff --git a/arch/arm/mach-gemini/Kconfig b/arch/arm/mach-gemini/Kconfig
index f436a2009eca3..11e0e966c3bb6 100644
--- a/arch/arm/mach-gemini/Kconfig
+++ b/arch/arm/mach-gemini/Kconfig
@@ -3,7 +3,7 @@ menuconfig ARCH_GEMINI
bool "Cortina Systems Gemini"
depends on ARCH_MULTI_V4
depends on CPU_LITTLE_ENDIAN
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_AMBA
select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
select COMMON_CLK_GEMINI
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 3f0521c652cb0..d3b603a4a8b3c 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -33,7 +33,7 @@ config HAVE_IMX_MMDC
config HAVE_IMX_SRC
def_bool y if SMP
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
if ARCH_MULTI_V6
diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig
index de69cc2dd4831..aeadb7a57ec1e 100644
--- a/arch/arm/mach-keystone/Kconfig
+++ b/arch/arm/mach-keystone/Kconfig
@@ -5,7 +5,7 @@ config ARCH_KEYSTONE
select ARM_GIC
select HAVE_ARM_ARCH_TIMER
select KEYSTONE_TIMER
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_ERRATA_798181 if SMP
select COMMON_CLK_KEYSTONE
select ZONE_DMA if ARM_LPAE
diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig
index 8c1d4402fd693..d709d2b603a5b 100644
--- a/arch/arm/mach-mmp/Kconfig
+++ b/arch/arm/mach-mmp/Kconfig
@@ -18,7 +18,7 @@ config MACH_MMP_DT
depends on ARCH_MULTI_V5
select PINCTRL
select PINCTRL_SINGLE
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select CPU_MOHAWK
help
Include support for Marvell MMP2 based platforms using
@@ -30,7 +30,7 @@ config MACH_MMP2_DT
depends on ARCH_MULTI_V7
select PINCTRL
select PINCTRL_SINGLE
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select CPU_PJ4
select PM_GENERIC_DOMAINS if PM
select PM_GENERIC_DOMAINS_OF if PM && OF
@@ -47,7 +47,7 @@ config MACH_MMP3_DT
select CACHE_L2X0
select PINCTRL
select PINCTRL_SINGLE
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select CPU_PJ4B
select PM_GENERIC_DOMAINS if PM
select PM_GENERIC_DOMAINS_OF if PM && OF
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 79f8afe3a6bfa..65fbaa63a79b3 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -97,7 +97,6 @@ config SOC_DRA7XX
config ARCH_OMAP2PLUS
bool
select ARCH_HAS_BANDGAP
- select ARCH_HAS_RESET_CONTROLLER
select ARCH_OMAP
select CLKSRC_MMIO
select GENERIC_IRQ_CHIP
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index c90193dd39283..3dc3b5581947e 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -4,7 +4,7 @@ config ARCH_ROCKCHIP
depends on ARCH_MULTI_V7
select PINCTRL
select PINCTRL_ROCKCHIP
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_AMBA
select ARM_GIC
select CACHE_L2X0
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
index 528c5c1368c37..fc4a56291bd78 100644
--- a/arch/arm/mach-socfpga/Kconfig
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -2,7 +2,6 @@
menuconfig ARCH_INTEL_SOCFPGA
bool "Altera SOCFPGA family"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
select ARM_GIC
select CACHE_L2X0
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig
index e58699e13e1a5..22d169a2277e5 100644
--- a/arch/arm/mach-sti/Kconfig
+++ b/arch/arm/mach-sti/Kconfig
@@ -9,7 +9,6 @@ menuconfig ARCH_STI
select PINCTRL
select PINCTRL_ST
select MFD_SYSCON
- select ARCH_HAS_RESET_CONTROLLER
select HAVE_ARM_SCU if SMP
select GPIOLIB
select ARM_ERRATA_754322
diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig
index 4ac3384e397aa..00dab551bcce2 100644
--- a/arch/arm/mach-stm32/Kconfig
+++ b/arch/arm/mach-stm32/Kconfig
@@ -7,7 +7,6 @@ menuconfig ARCH_STM32
select ARM_GIC if ARCH_MULTI_V7
select ARM_PSCI if ARCH_MULTI_V7
select ARM_AMBA
- select ARCH_HAS_RESET_CONTROLLER
select CLKSRC_STM32
select PINCTRL
select RESET_CONTROLLER
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index e015f2497111a..9d0e7d8dc5d95 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -2,7 +2,6 @@
menuconfig ARCH_SUNXI
bool "Allwinner SoCs"
depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
select CLKSRC_MMIO
select GPIOLIB
select PINCTRL
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index 3a06ba263e345..c85d8c6d34954 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -2,7 +2,6 @@
menuconfig ARCH_TEGRA
bool "NVIDIA Tegra"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
select ARM_GIC
select CLKSRC_MMIO
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index 05be5aa9b4028..e3d7649b9899a 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -2,7 +2,7 @@
config ARCH_ZYNQ
bool "Xilinx Zynq ARM Cortex A9 Platform"
depends on ARCH_MULTI_V7
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARM_AMBA
select ARM_GIC
select ARM_GLOBAL_TIMER
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 49dcd7be82cef..bee8766c1312b 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -17,7 +17,6 @@ config ARCH_AIROHA
config ARCH_SUNXI
bool "Allwinner sunxi 64-bit SoC Family"
- select ARCH_HAS_RESET_CONTROLLER
select PINCTRL
select RESET_CONTROLLER
select SUN4I_TIMER
@@ -99,7 +98,7 @@ config ARCH_BCMBCA
config ARCH_BRCMSTB
bool "Broadcom Set-Top-Box SoCs"
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select GENERIC_IRQ_CHIP
select PINCTRL
help
@@ -353,7 +352,7 @@ config ARCH_RENESAS
config ARCH_ROCKCHIP
bool "Rockchip Platforms"
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select PINCTRL
select PM
select ROCKCHIP_TIMER
@@ -376,7 +375,7 @@ config ARCH_INTEL_SOCFPGA
config ARCH_SOPHGO
bool "Sophgo SoCs"
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
help
This enables support for Sophgo SoC platform hardware.
@@ -405,7 +404,6 @@ config ARCH_SYNQUACER
config ARCH_TEGRA
bool "NVIDIA Tegra SoC Family"
- select ARCH_HAS_RESET_CONTROLLER
select ARM_GIC_PM
select CLKSRC_MMIO
select TIMER_OF
@@ -442,7 +440,6 @@ config ARCH_THUNDER2
config ARCH_UNIPHIER
bool "Socionext UniPhier SoC Family"
- select ARCH_HAS_RESET_CONTROLLER
select PINCTRL
select RESET_CONTROLLER
help
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index dac3ec5120a34..53bde6032076c 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -228,7 +228,7 @@ config ATH25
config ATH79
bool "Atheros AR71XX/AR724X/AR913X based boards"
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select BOOT_RAW
select CEVT_R4K
select CSRC_R4K
@@ -250,7 +250,7 @@ config ATH79
config BMIPS_GENERIC
bool "Broadcom Generic BMIPS kernel"
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
select BOOT_RAW
select NO_EXCEPT_FILL
@@ -472,7 +472,6 @@ config LANTIQ
select USE_OF
select PINCTRL
select PINCTRL_LANTIQ
- select ARCH_HAS_RESET_CONTROLLER
select RESET_CONTROLLER
config MACH_LOONGSON32
@@ -690,7 +689,6 @@ config RALINK
select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT
select SYS_HAS_EARLY_PRINTK
- select ARCH_HAS_RESET_CONTROLLER
select RESET_CONTROLLER
config MACH_REALTEK_RTL
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index cecbce0c49838..723761037d0d5 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -112,7 +112,7 @@ config ARCH_CANAAN
config SOC_CANAAN_K210
bool "Canaan Kendryte K210 SoC"
depends on !MMU && ARCH_CANAAN
- select ARCH_HAS_RESET_CONTROLLER
+ select RESET_CONTROLLER
select PINCTRL
select COMMON_CLK
help
diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig
index eda9c698a95f3..4e37c432823da 100644
--- a/drivers/reset/Kconfig
+++ b/drivers/reset/Kconfig
@@ -1,10 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
-config ARCH_HAS_RESET_CONTROLLER
- bool
-
menuconfig RESET_CONTROLLER
bool "Reset Controller Support"
- default y if ARCH_HAS_RESET_CONTROLLER
help
Generic Reset Controller support.
--
2.43.0
next reply other threads:[~2026-11-13 13:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 21:42 Andrew Davis [this message]
2026-11-13 13:27 ` Arnd Bergmann
2026-11-13 15:22 ` Philipp Zabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261112214223.765100-1-afd@ti.com \
--to=afd@ti.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®