Merge patch series "Rework the BLK symbol usage in Kconfig"

Tom Rini <trini@konsulko.com> says:

One problem we have today is how the BLK symbol is set and used in
Kconfig files. Part of the challenge is that we use it as a gating
symbol for "we have a block device" and also for "enable block device
library code". What this series does is move to always use "select BLK"
by block drivers (a few were and a few others had it the inverse) and
then "depends on BLK" for functionality that needs a block device
present. The end result of this series is that a number of platforms
which had disabled EFI_LOADER now don't ask for it (they have no block
device) and espresso7420 has a regression about MMC support fixed. With
v2 of this I've picked up the review tags from v1 and also reworded the
body of the commit in the first patch.

Link: https://lore.kernel.org/r/20250115012322.215243-1-trini@konsulko.com
This commit is contained in:
Tom Rini
2025-01-20 19:18:36 -06:00
18 changed files with 66 additions and 97 deletions

View File

@@ -181,13 +181,13 @@ config SANDBOX
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_KEYBOARD select DM_KEYBOARD
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_SPI select DM_SPI
select DM_SPI_FLASH select DM_SPI_FLASH
select GZIP_COMPRESSED select GZIP_COMPRESSED
select IO_TRACE select IO_TRACE
select LZO select LZO
select MMC
select MTD select MTD
select OF_BOARD_SETUP select OF_BOARD_SETUP
select PCI_ENDPOINT select PCI_ENDPOINT

View File

@@ -1164,7 +1164,6 @@ config ARCH_SUNXI
select DM_SPI if SPI select DM_SPI if SPI
select DM_SPI_FLASH if SPI && MTD select DM_SPI_FLASH if SPI && MTD
select DM_KEYBOARD select DM_KEYBOARD
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select OF_BOARD_SETUP select OF_BOARD_SETUP
select OF_CONTROL select OF_CONTROL
@@ -1212,7 +1211,6 @@ config ARCH_U8500
select CPU_V7A select CPU_V7A
select DM select DM
select DM_GPIO select DM_GPIO
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select DM_USB_GADGET if DM_USB select DM_USB_GADGET if DM_USB
select OF_CONTROL select OF_CONTROL
@@ -1237,7 +1235,6 @@ config ARCH_VERSAL
select ARM64 select ARM64
select CLK select CLK
select DM select DM
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select GICV3 select GICV3
select OF_CONTROL select OF_CONTROL
@@ -1250,7 +1247,6 @@ config ARCH_VERSAL2
select ARM64 select ARM64
select CLK select CLK
select DM select DM
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select OF_CONTROL select OF_CONTROL
imply BOARD_LATE_INIT imply BOARD_LATE_INIT
@@ -1262,7 +1258,6 @@ config ARCH_VERSAL_NET
select ARM64 select ARM64
select CLK select CLK
select DM select DM
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select OF_CONTROL select OF_CONTROL
imply BOARD_LATE_INIT imply BOARD_LATE_INIT
@@ -1287,7 +1282,6 @@ config ARCH_ZYNQ
select CPU_V7A select CPU_V7A
select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART
select DM select DM
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select DM_SPI select DM_SPI
select DM_SPI_FLASH select DM_SPI_FLASH
@@ -1316,7 +1310,6 @@ config ARCH_ZYNQMP_R5
select CLK select CLK
select CPU_V7R select CPU_V7R
select DM select DM
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select OF_CONTROL select OF_CONTROL
imply CMD_DM imply CMD_DM
@@ -1330,7 +1323,6 @@ config ARCH_ZYNQMP
select DM select DM
select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART
imply DM_MAILBOX imply DM_MAILBOX
select DM_MMC if MMC
select DM_SERIAL select DM_SERIAL
select MTD select MTD
select DM_SPI if SPI select DM_SPI if SPI
@@ -1380,7 +1372,6 @@ config ARCH_VEXPRESS64
select PL01X_SERIAL select PL01X_SERIAL
select OF_CONTROL select OF_CONTROL
select CLK select CLK
select BLK
select MTD_NOR_FLASH if MTD select MTD_NOR_FLASH if MTD
select FLASH_CFI_DRIVER if MTD select FLASH_CFI_DRIVER if MTD
select ENV_IS_IN_FLASH if MTD select ENV_IS_IN_FLASH if MTD
@@ -1398,8 +1389,8 @@ config TARGET_TOTAL_COMPUTE
select PL01X_SERIAL select PL01X_SERIAL
select DM select DM
select DM_SERIAL select DM_SERIAL
select DM_MMC
select DM_GPIO select DM_GPIO
select MMC
imply OF_HAS_PRIOR_STAGE imply OF_HAS_PRIOR_STAGE
imply MISC_INIT_R imply MISC_INIT_R
@@ -1905,7 +1896,7 @@ config TARGET_SL28
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC select MMC
select MTD select MTD
select DM_SPI_FLASH select DM_SPI_FLASH
select DM_MDIO select DM_MDIO
@@ -1946,10 +1937,10 @@ config ARCH_UNIPHIER
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_MTD select DM_MTD
select DM_RESET select DM_RESET
select DM_SERIAL select DM_SERIAL
select MMC
select OF_BOARD_SETUP select OF_BOARD_SETUP
select OF_CONTROL select OF_CONTROL
select OF_LIBFDT select OF_LIBFDT
@@ -1990,12 +1981,11 @@ config ARCH_STM32
config ARCH_STI config ARCH_STI
bool "Support STMicroelectronics SoCs" bool "Support STMicroelectronics SoCs"
select BLK
select CPU_V7A select CPU_V7A
select DM select DM
select DM_MMC
select DM_RESET select DM_RESET
select DM_SERIAL select DM_SERIAL
select MMC
imply CMD_DM imply CMD_DM
help help
Support for STMicroelectronics STiH407/10 SoC family. Support for STMicroelectronics STiH407/10 SoC family.
@@ -2037,12 +2027,10 @@ config ARCH_STM32MP
config ARCH_ROCKCHIP config ARCH_ROCKCHIP
bool "Support Rockchip SoCs" bool "Support Rockchip SoCs"
select BLK
select BINMAN if SPL_OPTEE || SPL select BINMAN if SPL_OPTEE || SPL
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_PWM select DM_PWM
select DM_REGULATOR select DM_REGULATOR
select DM_SERIAL select DM_SERIAL
@@ -2051,6 +2039,7 @@ config ARCH_ROCKCHIP
select DM_USB_GADGET if USB_DWC3_GADGET select DM_USB_GADGET if USB_DWC3_GADGET
select ENABLE_ARM_SOC_BOOT0_HOOK select ENABLE_ARM_SOC_BOOT0_HOOK
select OF_CONTROL select OF_CONTROL
select MMC
select MTD select MTD
select SPI select SPI
select SPL_DM if SPL select SPL_DM if SPL
@@ -2125,7 +2114,6 @@ config TARGET_POMELO
select AHCI select AHCI
select SCSI_AHCI select SCSI_AHCI
select AHCI_PCI select AHCI_PCI
select BLK
select PCI select PCI
select DM_PCI select DM_PCI
select SCSI select SCSI

View File

@@ -18,8 +18,7 @@ config ARCH_EXYNOS4
bool "Exynos4 SoC family" bool "Exynos4 SoC family"
select BOARD_EARLY_INIT_F select BOARD_EARLY_INIT_F
select CPU_V7A select CPU_V7A
select BLK select MMC
select DM_MMC
help help
Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
are multiple SoCs in this family including Exynos4210, Exynos4412, are multiple SoCs in this family including Exynos4210, Exynos4412,
@@ -39,8 +38,7 @@ config ARCH_EXYNOS5
imply USB_ETHER_ASIX imply USB_ETHER_ASIX
imply USB_ETHER_RTL8152 imply USB_ETHER_RTL8152
imply USB_ETHER_SMSC95XX imply USB_ETHER_SMSC95XX
select BLK select MMC
select DM_MMC
help help
Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and
@@ -51,8 +49,7 @@ config ARCH_EXYNOS7
bool "Exynos7 SoC family" bool "Exynos7 SoC family"
select ARM64 select ARM64
select BOARD_EARLY_INIT_F select BOARD_EARLY_INIT_F
select BLK select MMC
select DM_MMC
help help
Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or
Cortex-A53 CPU (and some in a big.LITTLE configuration). There are Cortex-A53 CPU (and some in a big.LITTLE configuration). There are
@@ -61,8 +58,7 @@ config ARCH_EXYNOS7
config ARCH_EXYNOS9 config ARCH_EXYNOS9
bool "Exynos9 SoC family" bool "Exynos9 SoC family"
select ARM64 select ARM64
select BLK select MMC
select DM_MMC
help help
Samsung Exynos9 SoC family are based on ARMv8 Cortex CPU. There are Samsung Exynos9 SoC family are based on ARMv8 Cortex CPU. There are
multiple SoCs in this family including Exynos850. multiple SoCs in this family including Exynos850.

View File

@@ -27,8 +27,8 @@ config TARGET_KP_IMX53
select DM_PMIC select DM_PMIC
select DM_SERIAL select DM_SERIAL
select DM_MMC select DM_MMC
select BLK
select DM_REGULATOR select DM_REGULATOR
select MMC
select MX53 select MX53
imply CMD_DM imply CMD_DM

View File

@@ -81,8 +81,8 @@ config MX6UL_OPOS6UL
select BOARD_LATE_INIT select BOARD_LATE_INIT
select DM select DM
select DM_GPIO select DM_GPIO
select DM_MMC
select DM_THERMAL select DM_THERMAL
select MMC
select SPL_DM if SPL select SPL_DM if SPL
select SPL_OF_CONTROL if SPL select SPL_OF_CONTROL if SPL
select SPL_PINCTRL if SPL select SPL_PINCTRL if SPL
@@ -176,9 +176,9 @@ config TARGET_DART_6UL
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_DHCOMIMX6 config TARGET_DHCOMIMX6
@@ -197,10 +197,10 @@ config TARGET_DISPLAY5
depends on MX6Q depends on MX6Q
select DM select DM
select DM_I2C select DM_I2C
select DM_MMC
select DM_SPI select DM_SPI
select DM_GPIO select DM_GPIO
select DM_SERIAL select DM_SERIAL
select MMC
select MTD select MTD
select SUPPORT_SPL select SUPPORT_SPL
imply CMD_DM imply CMD_DM
@@ -245,7 +245,7 @@ config TARGET_KOSAGI_NOVENA
bool "Kosagi Novena" bool "Kosagi Novena"
select BOARD_LATE_INIT select BOARD_LATE_INIT
select DM_GPIO select DM_GPIO
select DM_MMC select MMC
select PCI select PCI
select SCSI select SCSI
select VIDEO select VIDEO
@@ -280,8 +280,8 @@ config TARGET_MX6LOGICPD
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_PMIC select DM_PMIC
select MMC
select OF_CONTROL select OF_CONTROL
imply CMD_DM imply CMD_DM
@@ -300,10 +300,10 @@ config TARGET_MX6DL_MAMOJ
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_PMIC select DM_PMIC
select DM_PMIC_PFUZE100 select DM_PMIC_PFUZE100
select DM_THERMAL select DM_THERMAL
select MMC
select OF_CONTROL select OF_CONTROL
select PINCTRL select PINCTRL
select SPL select SPL
@@ -332,8 +332,8 @@ config TARGET_MX6Q_ENGICAM
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_THERMAL select DM_THERMAL
select MMC
select OF_CONTROL select OF_CONTROL
select SPL_DM if SPL select SPL_DM if SPL
select SPL_OF_CONTROL if SPL select SPL_OF_CONTROL if SPL
@@ -352,8 +352,8 @@ config TARGET_MX6Q_ACC
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_MX6S_SIELAFF config TARGET_MX6S_SIELAFF
@@ -453,8 +453,8 @@ config TARGET_MX6UL_ENGICAM
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_THERMAL select DM_THERMAL
select MMC
select OF_CONTROL select OF_CONTROL
select SPL_DM if SPL select SPL_DM if SPL
select SPL_OF_CONTROL if SPL select SPL_OF_CONTROL if SPL
@@ -490,9 +490,9 @@ config TARGET_MYS_6ULX
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_NITROGEN6X config TARGET_NITROGEN6X
@@ -507,10 +507,10 @@ config TARGET_NPI_IMX6ULL
bool "Seeed NPI-IMX6ULL" bool "Seeed NPI-IMX6ULL"
depends on MX6ULL depends on MX6ULL
select DM select DM
select DM_MMC
select DM_GPIO select DM_GPIO
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_OPOS6ULDEV config TARGET_OPOS6ULDEV
@@ -566,9 +566,9 @@ config TARGET_PCL063
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_PCL063_ULL config TARGET_PCL063_ULL
@@ -577,9 +577,9 @@ config TARGET_PCL063_ULL
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
select SUPPORT_SPL select SUPPORT_SPL
config TARGET_SOMLABS_VISIONSOM_6ULL config TARGET_SOMLABS_VISIONSOM_6ULL
@@ -588,9 +588,9 @@ config TARGET_SOMLABS_VISIONSOM_6ULL
select BOARD_LATE_INIT select BOARD_LATE_INIT
select DM select DM
select DM_GPIO select DM_GPIO
select DM_MMC
select DM_SERIAL select DM_SERIAL
select DM_THERMAL select DM_THERMAL
select MMC
imply CMD_DM imply CMD_DM
config TARGET_TBS2910 config TARGET_TBS2910
@@ -605,7 +605,7 @@ config TARGET_KP_IMX6Q_TPC
select DM select DM
select SPL_DM if SPL select SPL_DM if SPL
select DM_THERMAL select DM_THERMAL
select DM_MMC select MMC
select DM_REGULATOR select DM_REGULATOR
select SPL_DM_REGULATOR if SPL select SPL_DM_REGULATOR if SPL
select DM_SERIAL select DM_SERIAL
@@ -673,7 +673,7 @@ config TARGET_BRPPT2
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC select MMC
select SUPPORT_SPL select SUPPORT_SPL
select SPL_DM if SPL select SPL_DM if SPL
select SPL_OF_CONTROL if SPL select SPL_OF_CONTROL if SPL

View File

@@ -30,8 +30,8 @@ config TARGET_AM3517_EVM
select DM select DM
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_MMC
select DM_SERIAL select DM_SERIAL
select MMC
imply CMD_DM imply CMD_DM
config TARGET_CM_T35 config TARGET_CM_T35

View File

@@ -7,9 +7,8 @@ choice
config TARGET_S5P_GONI config TARGET_S5P_GONI
bool "S5P Goni board" bool "S5P Goni board"
select OF_CONTROL select OF_CONTROL
select BLK
select DM_MMC
select MISC_COMMON select MISC_COMMON
select MMC
config TARGET_SMDKC100 config TARGET_SMDKC100
bool "Support smdkc100 board" bool "Support smdkc100 board"

View File

@@ -48,13 +48,13 @@ config TEGRA_COMMON
select DM_GPIO select DM_GPIO
select DM_I2C select DM_I2C
select DM_KEYBOARD select DM_KEYBOARD
select DM_MMC
select DM_PWM select DM_PWM
select DM_RESET select DM_RESET
select DM_SERIAL select DM_SERIAL
select DM_SPI select DM_SPI
select DM_SPI_FLASH select DM_SPI_FLASH
select MISC select MISC
select MMC
select MTD select MTD
select OF_CONTROL select OF_CONTROL
select SPI select SPI

View File

@@ -1,6 +1,7 @@
config AHCI config AHCI
bool "Support SATA controllers with driver model" bool "Support SATA controllers with driver model"
depends on DM depends on DM
select BLK
help help
This enables a uclass for disk controllers in U-Boot. Various driver This enables a uclass for disk controllers in U-Boot. Various driver
types can use this, such as AHCI/SATA. It does not provide any standard types can use this, such as AHCI/SATA. It does not provide any standard
@@ -9,6 +10,7 @@ config AHCI
config SATA config SATA
bool "Support SATA controllers" bool "Support SATA controllers"
select BLK
help help
This enables support for SATA (Serial Advanced Technology This enables support for SATA (Serial Advanced Technology
Attachment), a serial bus standard for connecting to hard drives and Attachment), a serial bus standard for connecting to hard drives and

View File

@@ -1,8 +1,5 @@
config BLK config BLK
bool # "Support block devices" bool
depends on DM
def_bool y if MMC || USB || SCSI || NVME || IDE || AHCI || SATA
def_bool y if EFI_MEDIA || VIRTIO_BLK || PVBLOCK
help help
Enable support for block devices, such as SCSI, MMC and USB Enable support for block devices, such as SCSI, MMC and USB
flash sticks. These provide a block-level interface which permits flash sticks. These provide a block-level interface which permits
@@ -100,6 +97,7 @@ config TPL_BLOCK_CACHE
config EFI_MEDIA config EFI_MEDIA
bool "Support EFI media drivers" bool "Support EFI media drivers"
default y if EFI || SANDBOX default y if EFI || SANDBOX
select BLK
help help
Enable this to support media devices on top of UEFI. This enables Enable this to support media devices on top of UEFI. This enables
just the uclass so you also need a specific driver to make this do just the uclass so you also need a specific driver to make this do
@@ -139,6 +137,7 @@ endif # EFI_MEDIA
config IDE config IDE
bool "Support IDE controllers" bool "Support IDE controllers"
select BLK
help help
Enables support for IDE (Integrated Drive Electronics) hard drives. Enables support for IDE (Integrated Drive Electronics) hard drives.
This allows access to raw blocks and filesystems on an IDE drive This allows access to raw blocks and filesystems on an IDE drive

View File

@@ -3,7 +3,8 @@ menu "MMC Host controller Support"
config MMC config MMC
bool "MMC/SD/SDIO card support" bool "MMC/SD/SDIO card support"
default ARM || PPC || SANDBOX default ARM || PPC || SANDBOX
select DM_MMC if DM select BLK
select DM_MMC
help help
This selects MultiMediaCard, Secure Digital and Secure This selects MultiMediaCard, Secure Digital and Secure
Digital I/O support. Digital I/O support.
@@ -39,14 +40,14 @@ config MMC_BROKEN_CD
If card detection feature is broken, just poll to detect. If card detection feature is broken, just poll to detect.
config DM_MMC config DM_MMC
bool "Enable MMC controllers using Driver Model" bool
depends on DM depends on DM
help help
This enables the MultiMediaCard (MMC) uclass which supports MMC and This enables the MultiMediaCard (MMC) driver model uclass which
Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.) supports MMC and Secure Digital I/O (SDIO) cards. Both removable (SD,
and non-removable (e.g. eMMC chip) devices are supported. These micro-SD, etc.) and non-removable (e.g. eMMC chip) devices are
appear as block devices in U-Boot and can support filesystems such supported. These appear as block devices in U-Boot and can support
as EXT4 and FAT. filesystems such as EXT4 and FAT.
config SPL_DM_MMC config SPL_DM_MMC
bool "Enable MMC controllers using Driver Model in SPL" bool "Enable MMC controllers using Driver Model in SPL"
@@ -79,7 +80,7 @@ config MMC_SDHCI_ADMA_HELPERS
config MMC_SPI config MMC_SPI
bool "Support for SPI-based MMC controller" bool "Support for SPI-based MMC controller"
depends on DM_MMC && DM_SPI depends on DM_SPI
help help
This selects SPI-based MMC controllers. This selects SPI-based MMC controllers.
If you have an MMC controller on a SPI bus, say Y here. If you have an MMC controller on a SPI bus, say Y here.
@@ -97,7 +98,6 @@ config MMC_SPI_CRC_ON
config ARM_PL180_MMCI config ARM_PL180_MMCI
bool "ARM AMBA Multimedia Card Interface and compatible support" bool "ARM AMBA Multimedia Card Interface and compatible support"
depends on DM_MMC
help help
This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
Interface (PL180, PL181 and compatible) support. Interface (PL180, PL181 and compatible) support.
@@ -258,7 +258,6 @@ config MMC_DW
config MMC_DW_CORTINA config MMC_DW_CORTINA
bool "Cortina specific extensions for Synopsys DW Memory Card Interface" bool "Cortina specific extensions for Synopsys DW Memory Card Interface"
depends on DM_MMC
depends on MMC_DW depends on MMC_DW
help help
This selects support for Cortina SoC specific extensions to the This selects support for Cortina SoC specific extensions to the
@@ -285,7 +284,7 @@ config MMC_DW_K3
config MMC_DW_ROCKCHIP config MMC_DW_ROCKCHIP
bool "Rockchip SD/MMC controller support" bool "Rockchip SD/MMC controller support"
depends on DM_MMC && OF_CONTROL depends on OF_CONTROL
depends on MMC_DW depends on MMC_DW
help help
This enables support for the Rockchip SD/MMM controller, which is This enables support for the Rockchip SD/MMM controller, which is
@@ -306,7 +305,6 @@ config MMC_DW_SOCFPGA
config MMC_DW_SNPS config MMC_DW_SNPS
bool "Extensions for DW Memory Card Interface used in Synopsys ARC devboards" bool "Extensions for DW Memory Card Interface used in Synopsys ARC devboards"
depends on MMC_DW depends on MMC_DW
depends on DM_MMC
depends on OF_CONTROL depends on OF_CONTROL
depends on CLK depends on CLK
help help
@@ -317,13 +315,12 @@ config NEXELL_DWMMC
bool "Nexell SD/MMC controller support" bool "Nexell SD/MMC controller support"
depends on ARCH_NEXELL depends on ARCH_NEXELL
depends on MMC_DW depends on MMC_DW
depends on DM_MMC
depends on PINCTRL_NEXELL depends on PINCTRL_NEXELL
default y default y
config MMC_MESON_GX config MMC_MESON_GX
bool "Meson GX EMMC controller support" bool "Meson GX EMMC controller support"
depends on DM_MMC && ARCH_MESON depends on ARCH_MESON
help help
Support for EMMC host controller on Meson GX ARM SoCs platform (S905) Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
@@ -338,7 +335,7 @@ config MMC_MXC
config MMC_OWL config MMC_OWL
bool "Actions OWL Multimedia Card Interface support" bool "Actions OWL Multimedia Card Interface support"
depends on ARCH_OWL && DM_MMC && BLK depends on ARCH_OWL
help help
This selects the OWL SD/MMC host controller found on board This selects the OWL SD/MMC host controller found on board
based on Actions S700/S900 SoC. based on Actions S700/S900 SoC.
@@ -366,7 +363,6 @@ config MMC_PCI
config MMC_OCTEONTX config MMC_OCTEONTX
bool "Marvell Octeon Multimedia Card Interface support" bool "Marvell Octeon Multimedia Card Interface support"
depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2) depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
depends on DM_MMC
select MMC_SUPPORTS_TUNING if ARCH_OCTEONTX2 select MMC_SUPPORTS_TUNING if ARCH_OCTEONTX2
help help
This selects the Octeon Multimedia card Interface. This selects the Octeon Multimedia card Interface.
@@ -377,7 +373,7 @@ config MMC_OCTEONTX
config MVEBU_MMC config MVEBU_MMC
bool "Kirkwood MMC controller support" bool "Kirkwood MMC controller support"
depends on DM_MMC && ARCH_KIRKWOOD depends on ARCH_KIRKWOOD
help help
Support for MMC host controller on Kirkwood SoCs. Support for MMC host controller on Kirkwood SoCs.
If you are on a Kirkwood architecture, say Y here. If you are on a Kirkwood architecture, say Y here.
@@ -386,8 +382,7 @@ config MVEBU_MMC
config MMC_OMAP_HS config MMC_OMAP_HS
bool "TI OMAP High Speed Multimedia Card Interface support" bool "TI OMAP High Speed Multimedia Card Interface support"
select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR select DM_REGULATOR_PBIAS if DM_REGULATOR
select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
help help
This selects the TI OMAP High Speed Multimedia card Interface. This selects the TI OMAP High Speed Multimedia card Interface.
If you have an omap2plus board with a Multimedia Card slot, If you have an omap2plus board with a Multimedia Card slot,
@@ -430,7 +425,6 @@ config SH_MMCIF
config MMC_UNIPHIER config MMC_UNIPHIER
bool "UniPhier SD/MMC Host Controller support" bool "UniPhier SD/MMC Host Controller support"
depends on ARCH_UNIPHIER depends on ARCH_UNIPHIER
depends on DM_MMC
depends on OF_CONTROL depends on OF_CONTROL
help help
This selects support for the Matsushita SD/MMC Host Controller on This selects support for the Matsushita SD/MMC Host Controller on
@@ -439,7 +433,6 @@ config MMC_UNIPHIER
config RENESAS_SDHI config RENESAS_SDHI
bool "Renesas R-Car SD/MMC Host Controller support" bool "Renesas R-Car SD/MMC Host Controller support"
depends on ARCH_RENESAS depends on ARCH_RENESAS
depends on DM_MMC
depends on OF_CONTROL depends on OF_CONTROL
select BOUNCE_BUFFER select BOUNCE_BUFFER
help help
@@ -449,7 +442,6 @@ config RENESAS_SDHI
config MMC_BCM2835 config MMC_BCM2835
bool "BCM2835 family custom SD/MMC Host Controller support" bool "BCM2835 family custom SD/MMC Host Controller support"
depends on ARCH_BCM283X depends on ARCH_BCM283X
depends on DM_MMC
depends on OF_CONTROL depends on OF_CONTROL
default y default y
help help
@@ -469,7 +461,7 @@ config JZ47XX_MMC
config MMC_SANDBOX config MMC_SANDBOX
bool "Sandbox MMC support" bool "Sandbox MMC support"
depends on SANDBOX depends on SANDBOX
depends on DM_MMC && OF_CONTROL depends on OF_CONTROL
help help
This select a dummy sandbox MMC driver. At present this does nothing This select a dummy sandbox MMC driver. At present this does nothing
other than allow sandbox to be build with MMC support. This other than allow sandbox to be build with MMC support. This
@@ -559,7 +551,6 @@ config FIXED_SDHCI_ALIGNED_BUFFER
config MMC_SDHCI_ASPEED config MMC_SDHCI_ASPEED
bool "Aspeed SDHCI controller" bool "Aspeed SDHCI controller"
depends on ARCH_ASPEED depends on ARCH_ASPEED
depends on DM_MMC
depends on MMC_SDHCI depends on MMC_SDHCI
select MISC select MISC
help help
@@ -571,7 +562,7 @@ config MMC_SDHCI_ASPEED
config MMC_SDHCI_ATMEL config MMC_SDHCI_ATMEL
bool "Atmel SDHCI controller support" bool "Atmel SDHCI controller support"
depends on ARCH_AT91 depends on ARCH_AT91
depends on DM_MMC && ARCH_AT91 depends on ARCH_AT91
depends on MMC_SDHCI depends on MMC_SDHCI
help help
This enables support for the Atmel SDHCI controller, which supports This enables support for the Atmel SDHCI controller, which supports
@@ -606,7 +597,6 @@ config MMC_SDHCI_BCMSTB
config MMC_SDHCI_CADENCE config MMC_SDHCI_CADENCE
bool "SDHCI support for the Cadence SD/SDIO/eMMC controller" bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
depends on DM_MMC
depends on MMC_SDHCI depends on MMC_SDHCI
depends on OF_CONTROL depends on OF_CONTROL
help help
@@ -618,7 +608,6 @@ config MMC_SDHCI_CADENCE
config MMC_SDHCI_CV1800B config MMC_SDHCI_CV1800B
bool "SDHCI support for the CV1800B SD/SDIO/eMMC controller" bool "SDHCI support for the CV1800B SD/SDIO/eMMC controller"
depends on DM_MMC
depends on MMC_SDHCI depends on MMC_SDHCI
depends on OF_CONTROL depends on OF_CONTROL
help help
@@ -633,7 +622,7 @@ config MMC_SDHCI_AM654
bool "SDHCI Controller on TI's Am654 devices" bool "SDHCI Controller on TI's Am654 devices"
depends on ARCH_K3 depends on ARCH_K3
depends on MMC_SDHCI depends on MMC_SDHCI
depends on DM_MMC && OF_CONTROL && BLK depends on OF_CONTROL
depends on REGMAP depends on REGMAP
select MMC_SDHCI_IO_ACCESSORS select MMC_SDHCI_IO_ACCESSORS
help help
@@ -653,7 +642,6 @@ config MMC_SDHCI_IPROC
config MMC_SDHCI_F_SDH30 config MMC_SDHCI_F_SDH30
bool "SDHCI support for Fujitsu Semiconductor/Socionext F_SDH30" bool "SDHCI support for Fujitsu Semiconductor/Socionext F_SDH30"
depends on DM_MMC
depends on MMC_SDHCI depends on MMC_SDHCI
help help
This selects the Secure Digital Host Controller Interface (SDHCI) This selects the Secure Digital Host Controller Interface (SDHCI)
@@ -673,7 +661,6 @@ config MMC_SDHCI_KONA
config MMC_SDHCI_MSM config MMC_SDHCI_MSM
bool "Qualcomm SDHCI controller" bool "Qualcomm SDHCI controller"
depends on DM_MMC
depends on MMC_SDHCI depends on MMC_SDHCI
help help
Enables support for SDHCI 2.0 controller present on some Qualcomm Enables support for SDHCI 2.0 controller present on some Qualcomm
@@ -685,7 +672,6 @@ config MMC_SDHCI_MV
bool "SDHCI support on Marvell platform" bool "SDHCI support on Marvell platform"
depends on ARCH_MVEBU depends on ARCH_MVEBU
depends on MMC_SDHCI depends on MMC_SDHCI
depends on DM_MMC
help help
This selects the Secure Digital Host Controller Interface on This selects the Secure Digital Host Controller Interface on
Marvell platform. Marvell platform.
@@ -697,7 +683,6 @@ config MMC_SDHCI_MV
config MMC_SDHCI_NPCM config MMC_SDHCI_NPCM
bool "SDHCI support on Nuvoton NPCM device" bool "SDHCI support on Nuvoton NPCM device"
depends on MMC_SDHCI depends on MMC_SDHCI
depends on DM_MMC
help help
This selects the Secure Digital Host Controller Interface (SDHCI) This selects the Secure Digital Host Controller Interface (SDHCI)
on Nuvoton NPCM device. on Nuvoton NPCM device.
@@ -708,7 +693,7 @@ config MMC_SDHCI_NPCM
config MMC_SDHCI_PIC32 config MMC_SDHCI_PIC32
bool "Microchip PIC32 on-chip SDHCI support" bool "Microchip PIC32 on-chip SDHCI support"
depends on DM_MMC && MACH_PIC32 depends on MACH_PIC32
depends on MMC_SDHCI depends on MMC_SDHCI
help help
Support for Microchip PIC32 SDHCI controller. Support for Microchip PIC32 SDHCI controller.
@@ -716,7 +701,6 @@ config MMC_SDHCI_PIC32
config MMC_SDHCI_ROCKCHIP config MMC_SDHCI_ROCKCHIP
bool "Arasan SDHCI controller for Rockchip support" bool "Arasan SDHCI controller for Rockchip support"
depends on ARCH_ROCKCHIP depends on ARCH_ROCKCHIP
depends on DM_MMC && BLK
depends on MMC_SDHCI depends on MMC_SDHCI
help help
Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
@@ -735,7 +719,6 @@ config MMC_SDHCI_S5P
config MMC_SDHCI_SNPS config MMC_SDHCI_SNPS
bool "Synopsys DesignWare SDHCI controller" bool "Synopsys DesignWare SDHCI controller"
depends on MMC_SDHCI depends on MMC_SDHCI
depends on DM_MMC
help help
Support for DesignWare SDHCI host controller on Alibaba TH1520 SoC. Support for DesignWare SDHCI host controller on Alibaba TH1520 SoC.
This is a highly configurable and programmable, high performance This is a highly configurable and programmable, high performance
@@ -753,7 +736,7 @@ config MMC_SDHCI_STI
config MMC_SDHCI_XENON config MMC_SDHCI_XENON
bool "SDHCI support for the Xenon SDHCI controller" bool "SDHCI support for the Xenon SDHCI controller"
depends on MMC_SDHCI && DM_MMC && OF_CONTROL depends on MMC_SDHCI && OF_CONTROL
help help
Support for Xenon SDHCI host controller on Marvell Armada 3700 Support for Xenon SDHCI host controller on Marvell Armada 3700
7k/8k ARM SoCs platforms 7k/8k ARM SoCs platforms
@@ -764,7 +747,6 @@ config MMC_SDHCI_XENON
config MMC_SDHCI_TANGIER config MMC_SDHCI_TANGIER
bool "Tangier SDHCI controller support" bool "Tangier SDHCI controller support"
depends on DM_MMC && BLK
depends on MMC_SDHCI depends on MMC_SDHCI
help help
This selects support for SDHCI controller on Tanginer This selects support for SDHCI controller on Tanginer
@@ -800,7 +782,7 @@ config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
config MMC_SDHCI_ZYNQ config MMC_SDHCI_ZYNQ
bool "Arasan SDHCI controller support" bool "Arasan SDHCI controller support"
depends on DM_MMC && OF_CONTROL && BLK depends on OF_CONTROL
depends on MMC_SDHCI depends on MMC_SDHCI
help help
Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
@@ -842,7 +824,6 @@ config MMC_SUNXI_HAS_MODE_SWITCH
config MMC_PITON config MMC_PITON
bool "MMC support for OpenPiton SoC" bool "MMC support for OpenPiton SoC"
depends on DM_MMC && BLK
help help
This selects support for the SD host controller on OpenPiton SoC. This selects support for the SD host controller on OpenPiton SoC.
Note that this SD controller directly exposes the contents of the Note that this SD controller directly exposes the contents of the
@@ -851,7 +832,7 @@ config MMC_PITON
config GENERIC_ATMEL_MCI config GENERIC_ATMEL_MCI
bool "Atmel Multimedia Card Interface support" bool "Atmel Multimedia Card Interface support"
depends on DM_MMC && ARCH_AT91 depends on ARCH_AT91
help help
This enables support for Atmel High Speed Multimedia Card Interface This enables support for Atmel High Speed Multimedia Card Interface
(HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3, (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
@@ -860,7 +841,7 @@ config GENERIC_ATMEL_MCI
config STM32_SDMMC2 config STM32_SDMMC2
bool "STMicroelectronics STM32H7 SD/MMC Host Controller support" bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
depends on DM_MMC && OF_CONTROL depends on OF_CONTROL
help help
This selects support for the SD/MMC controller on STM32H7 SoCs. This selects support for the SD/MMC controller on STM32H7 SoCs.
If you have a board based on such a SoC and with a SD/MMC slot, If you have a board based on such a SoC and with a SD/MMC slot,
@@ -880,7 +861,6 @@ config FTSDC010_SDIO
config MMC_MTK config MMC_MTK
bool "MediaTek SD/MMC Card Interface support" bool "MediaTek SD/MMC Card Interface support"
depends on ARCH_MEDIATEK || ARCH_MTMIPS depends on ARCH_MEDIATEK || ARCH_MTMIPS
depends on DM_MMC
depends on OF_CONTROL depends on OF_CONTROL
help help
This selects the MediaTek(R) Secure digital and Multimedia card Interface. This selects the MediaTek(R) Secure digital and Multimedia card Interface.
@@ -911,7 +891,7 @@ config FSL_ESDHC_SUPPORT_ADMA2
config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND
bool "enable eSDHC workaround for 3.3v IO reliability issue" bool "enable eSDHC workaround for 3.3v IO reliability issue"
depends on FSL_ESDHC && DM_MMC depends on FSL_ESDHC
help help
When eSDHC operates at 3.3v, damage can accumulate in an internal When eSDHC operates at 3.3v, damage can accumulate in an internal
level shifter at a higher than expected rate. The faster the interface level shifter at a higher than expected rate. The faster the interface

View File

@@ -34,7 +34,7 @@ config MTD_CONCAT
config MTD_BLOCK config MTD_BLOCK
bool "Enable block device access to MTD devices" bool "Enable block device access to MTD devices"
depends on BLK select BLK
help help
Enable support for block device access to MTD devices Enable support for block device access to MTD devices
using blk_ops abstraction. using blk_ops abstraction.

View File

@@ -116,7 +116,7 @@ config MTD_UBI_FM_DEBUG
config UBI_BLOCK config UBI_BLOCK
bool "Enable UBI block device support" bool "Enable UBI block device support"
depends on BLK select BLK
help help
Enable UBI block device support using blk_ops abstraction. Enable UBI block device support using blk_ops abstraction.

View File

@@ -4,6 +4,7 @@
config NVME config NVME
bool "NVM Express device support" bool "NVM Express device support"
select BLK
help help
This option enables support for NVM Express devices. This option enables support for NVM Express devices.
It supports basic functions of NVMe (read/write). It supports basic functions of NVMe (read/write).

View File

@@ -1,5 +1,6 @@
config SCSI config SCSI
bool "Support SCSI controllers with driver model" bool "Support SCSI controllers with driver model"
select BLK
help help
This enables support for SCSI (Small Computer System Interface), This enables support for SCSI (Small Computer System Interface),
a parallel interface widely used with storage peripherals such as a parallel interface widely used with storage peripherals such as

View File

@@ -1,5 +1,6 @@
menuconfig USB menuconfig USB
bool "USB support" bool "USB support"
select BLK
---help--- ---help---
Universal Serial Bus (USB) is a specification for a serial bus Universal Serial Bus (USB) is a specification for a serial bus
subsystem which offers higher speeds and more features than the subsystem which offers higher speeds and more features than the

View File

@@ -64,6 +64,7 @@ config VIRTIO_NET
config VIRTIO_BLK config VIRTIO_BLK
bool "virtio block driver" bool "virtio block driver"
depends on VIRTIO depends on VIRTIO
select BLK
help help
This is the virtual block driver for virtio. It can be used with This is the virtual block driver for virtio. It can be used with
QEMU based targets. QEMU based targets.

View File

@@ -8,13 +8,14 @@ config EFI_LOADER
SYS_CPU = armv7 || \ SYS_CPU = armv7 || \
SYS_CPU = armv8) || \ SYS_CPU = armv8) || \
X86 || RISCV || SANDBOX) X86 || RISCV || SANDBOX)
# We have not fully removed the requirement for some block device
depends on BLK
# We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
depends on !EFI_APP depends on !EFI_APP
default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8 default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
select BLK
select CHARSET select CHARSET
# We need to send DM events, dynamically, in the EFI block driver # We need to send DM events, dynamically, in the EFI block driver
select DM_EVENT select DM_EVENT