From: Tom Rini Date: Tue, 17 Mar 2026 01:24:19 +0000 (-0600) Subject: core: Rework REGMAP symbols implementation X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0da1866a8fdd4d4bc4837ef2af281dbe010ae16b;p=thirdparty%2Fu-boot.git core: Rework REGMAP symbols implementation As exposed by "make randconfig", we have an issue with the dependencies for REGMAP (and xPL variants). As this is a library function, it should always be selected and not depended on by other functionality. This is largely done correctly today, so just correct the few outliers. Acked-by: Anshul Dalal Signed-off-by: Tom Rini --- diff --git a/arch/arm/mach-airoha/Kconfig b/arch/arm/mach-airoha/Kconfig index b9cd0a413e1..4b0374001d0 100644 --- a/arch/arm/mach-airoha/Kconfig +++ b/arch/arm/mach-airoha/Kconfig @@ -10,6 +10,7 @@ config TARGET_EN7523 bool "Airoha EN7523 SoC" select CPU_V7A select ARMV7_SET_CORTEX_SMPEN + select REGMAP help The Airoha EN7523 family (en7523/en7529/en7562) is an ARM-based SoCs with a dual-core CPU. It comes with Wi-Fi 5/6 support and diff --git a/arch/arm/mach-aspeed/Kconfig b/arch/arm/mach-aspeed/Kconfig index 9cf60378c11..c88b1e59366 100644 --- a/arch/arm/mach-aspeed/Kconfig +++ b/arch/arm/mach-aspeed/Kconfig @@ -18,6 +18,7 @@ config ASPEED_AST2500 bool "Support Aspeed AST2500 SoC" select CPU_ARM1176 select DM_RESET + select REGMAP help The Aspeed AST2500 is a ARM-based SoC with arm1176 CPU. It is used as Board Management Controller on many server boards, diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig index 8ac83420ee2..0dc72c87423 100644 --- a/arch/powerpc/cpu/mpc83xx/Kconfig +++ b/arch/powerpc/cpu/mpc83xx/Kconfig @@ -73,6 +73,7 @@ config TARGET_KMTEPR2 config TARGET_GAZERBEAM bool "Support gazerbeam" select ARCH_MPC8308 + select REGMAP select SYS_FSL_ERRATUM_ESDHC111 imply ENV_IS_IN_FLASH help diff --git a/configs/imx8m_data_modul.config b/configs/imx8m_data_modul.config index 4634a0972f0..18c7bb536fa 100644 --- a/configs/imx8m_data_modul.config +++ b/configs/imx8m_data_modul.config @@ -149,7 +149,6 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX8M=y CONFIG_POWER_DOMAIN=y CONFIG_PROT_TCP_SACK=y -CONFIG_REGMAP=y CONFIG_RGMII=y CONFIG_RTC_M41T62=y CONFIG_SF_DEFAULT_SPEED=50000000 diff --git a/configs/imx95_evk.config b/configs/imx95_evk.config index 3db583cce59..e7832d86fe9 100644 --- a/configs/imx95_evk.config +++ b/configs/imx95_evk.config @@ -92,7 +92,6 @@ CONFIG_ETHPRIME="eth0" CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SYS_RX_ETH_BUFFER=8 CONFIG_SPL_DM=y -CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_CLK=y diff --git a/configs/imx_dhsom.config b/configs/imx_dhsom.config index 4a3ddc7e90b..a0d67c8a068 100644 --- a/configs/imx_dhsom.config +++ b/configs/imx_dhsom.config @@ -28,7 +28,6 @@ CONFIG_ENV_SECT_SIZE_AUTO=y CONFIG_ENV_REDUNDANT=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_DM_GPIO=y diff --git a/configs/kontron-osm-s-mx8mp.config b/configs/kontron-osm-s-mx8mp.config index a8881726e07..786fd3e7a6d 100644 --- a/configs/kontron-osm-s-mx8mp.config +++ b/configs/kontron-osm-s-mx8mp.config @@ -117,7 +117,6 @@ CONFIG_TFTP_TSIZE=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y -CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_ENV=y diff --git a/configs/kontron-osm-s-mx93.config b/configs/kontron-osm-s-mx93.config index a6d316de3d8..c2d4de4efa8 100644 --- a/configs/kontron-osm-s-mx93.config +++ b/configs/kontron-osm-s-mx93.config @@ -115,7 +115,6 @@ CONFIG_TFTP_TSIZE=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y -CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_ADC=y CONFIG_ADC_IMX93=y diff --git a/configs/renesas_rcar64.config b/configs/renesas_rcar64.config index c2cb88dc157..da4b262fc6a 100644 --- a/configs/renesas_rcar64.config +++ b/configs/renesas_rcar64.config @@ -6,7 +6,6 @@ CONFIG_CMD_TEMPERATURE=y CONFIG_DM_THERMAL=y CONFIG_PHY_ANEG_TIMEOUT=20000 CONFIG_RCAR_GEN3_THERMAL=y -CONFIG_REGMAP=y CONFIG_REMAKE_ELF=y CONFIG_RENESAS_RPC_SPI=y CONFIG_SUPPORT_RAW_INITRD=y diff --git a/drivers/clk/microchip/Kconfig b/drivers/clk/microchip/Kconfig index 62072e100b1..6ac7c9c5654 100644 --- a/drivers/clk/microchip/Kconfig +++ b/drivers/clk/microchip/Kconfig @@ -2,6 +2,5 @@ config CLK_MPFS bool "Clock support for Microchip PolarFire SoC" depends on CLK && CLK_CCF depends on SYSCON - depends on REGMAP help This enables support clock driver for Microchip PolarFire SoC platform. diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index c9253099e6e..5419bf65b5d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -195,7 +195,7 @@ config DM_DMA the physical address space. config REGMAP - bool "Support register maps" + bool depends on DM select DEVRES help @@ -206,7 +206,7 @@ config REGMAP direct memory access. config SPL_REGMAP - bool "Support register maps in SPL" + bool depends on SPL_DM help Hardware peripherals tend to have one or more sets of registers @@ -216,7 +216,7 @@ config SPL_REGMAP direct memory access. config TPL_REGMAP - bool "Support register maps in TPL" + bool depends on TPL_DM help Hardware peripherals tend to have one or more sets of registers @@ -226,7 +226,7 @@ config TPL_REGMAP direct memory access. config VPL_REGMAP - bool "Support register maps in VPL" + bool depends on VPL_DM help Hardware peripherals tend to have one or more sets of registers @@ -237,7 +237,7 @@ config VPL_REGMAP config SYSCON bool "Support system controllers" - depends on REGMAP + select REGMAP help Many SoCs have a number of system controllers which are dealt with as a group by a single driver. Some common functionality is provided @@ -246,7 +246,8 @@ config SYSCON config SPL_SYSCON bool "Support system controllers in SPL" - depends on SPL_REGMAP + depends on SPL_DM + select SPL_REGMAP help Many SoCs have a number of system controllers which are dealt with as a group by a single driver. Some common functionality is provided @@ -255,7 +256,8 @@ config SPL_SYSCON config TPL_SYSCON bool "Support system controllers in TPL" - depends on TPL_REGMAP + depends on TPL_DM + select TPL_REGMAP help Many SoCs have a number of system controllers which are dealt with as a group by a single driver. Some common functionality is provided @@ -264,7 +266,8 @@ config TPL_SYSCON config VPL_SYSCON bool "Support system controllers in VPL" - depends on VPL_REGMAP + depends on VPL_DM + select VPL_REGMAP help Many SoCs have a number of system controllers which are dealt with as a group by a single driver. Some common functionality is provided diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index ce2d23756df..b2dfc7f5b66 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -351,7 +351,8 @@ config MXS_OCOTP config NPCM_HOST bool "Enable support espi or LPC for Host" - depends on REGMAP && SYSCON + depends on SYSCON + select REGMAP help Enable NPCM BMC espi or LPC support for Host reading and writing. diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 39caf2eff1b..22bd3a972bd 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -627,8 +627,9 @@ config MMC_SDHCI_AM654 depends on ARCH_K3 depends on MMC_SDHCI depends on OF_CONTROL - depends on REGMAP select MMC_SDHCI_IO_ACCESSORS + select REGMAP + select SPL_REGMAP if SPL_MMC help Support for Secure Digital Host Controller Interface (SDHCI) controllers present on TI's AM654 SOCs.