[PATCH v2 10/24] blk: Select SPL_LEGACY_BLOCK automatically

Simon Glass sjg at chromium.org
Fri Aug 12 03:34:49 CEST 2022


Selecting this option can be handled in the Kconfig option itself, as it
is with BLK. Update this an drop the various 'select' clauses.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

(no changes since v1)

 common/spl/Kconfig     |  2 --
 drivers/ata/Kconfig    |  1 -
 drivers/block/Kconfig  | 11 +++++++----
 drivers/mmc/Kconfig    |  1 -
 drivers/nvme/Kconfig   |  1 -
 drivers/scsi/Kconfig   |  1 -
 drivers/xen/Kconfig    |  1 -
 lib/efi_loader/Kconfig |  1 -
 8 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 4c3e74ae5eb..759fb468d1a 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -792,7 +792,6 @@ config SPL_DM_MAILBOX
 config SPL_MMC
 	bool "Support MMC"
 	depends on MMC
-	select SPL_LEGACY_BLOCK
 	help
 	  Enable support for MMC (Multimedia Card) within SPL. This enables
 	  the MMC protocol implementation and allows any enabled drivers to
@@ -1318,7 +1317,6 @@ config SPL_THERMAL
 
 config SPL_USB_HOST
 	bool "Support USB host drivers"
-	select SPL_LEGACY_BLOCK
 	help
 	  Enable access to USB (Universal Serial Bus) host devices so that
 	  SPL can load U-Boot from a connected USB peripheral, such as a USB
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index c3f2ac058a3..a063b221cd1 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -9,7 +9,6 @@ config AHCI
 
 config SATA
 	bool "Support SATA controllers"
-	select SPL_LEGACY_BLOCK
 	help
 	  This enables support for SATA (Serial Advanced Technology
 	  Attachment), a serial bus standard for connecting to hard drives and
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 5a0c434058a..e82a779e6b8 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -13,8 +13,14 @@ config BLK
 
 config SPL_LEGACY_BLOCK
 	bool "Enable Legacy Block Device"
+	depends on SPL && !DM_SPL
+	default y if SPL_MMC || SPL_USB_STORAGE || SCSI || NVME || IDE
+	default y if SPL_AHCI_PCI
 	help
-	  Some devices require block support whether or not DM is enabled
+	  Some devices require block support whether or not DM is enabled. This
+	  is only supported in SPL. With this, the blk uclass is not used, but
+	  instead a legacy implementation of block devices is used, with all
+	  devices consisting of 'struct blk_desc' records.
 
 config SPL_BLK
 	bool "Support block devices in SPL"
@@ -109,7 +115,6 @@ endif  # EFI_MEDIA
 
 config IDE
 	bool "Support IDE controllers"
-	select SPL_LEGACY_BLOCK
 	help
 	  Enables support for IDE (Integrated Drive Electronics) hard drives.
 	  This allows access to raw blocks and filesystems on an IDE drive
@@ -222,7 +227,6 @@ endif  # IDE
 
 config LBA48
 	bool "Enable LBA support for disks larger than 137GB"
-	depends on SPL_LEGACY_BLOCK
 	help
 	  Set this to enable support for disks larger than 137GB.
 	  Also look at CONFIG_SYS_64BIT_LBA.  Without both of these, LBA48
@@ -231,7 +235,6 @@ config LBA48
 
 config SYS_64BIT_LBA
 	bool "Enable 64bit number of blocks on a block device"
-	depends on SPL_LEGACY_BLOCK
 	help
 	  Make the block subsystem use 64bit sector addresses, rather than the
 	  default of 32bit.
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index d45ad1a541d..0679b7d9235 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -3,7 +3,6 @@ menu "MMC Host controller Support"
 config MMC
 	bool "MMC/SD/SDIO card support"
 	default ARM || PPC || SANDBOX
-	select SPL_LEGACY_BLOCK
 	select DM_MMC if DM
 	help
 	  This selects MultiMediaCard, Secure Digital and Secure
diff --git a/drivers/nvme/Kconfig b/drivers/nvme/Kconfig
index 7b6d54615f8..73edb355160 100644
--- a/drivers/nvme/Kconfig
+++ b/drivers/nvme/Kconfig
@@ -4,7 +4,6 @@
 
 config NVME
 	bool "NVM Express device support"
-	select SPL_LEGACY_BLOCK
 	help
 	  This option enables support for NVM Express devices.
 	  It supports basic functions of NVMe (read/write).
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 4d643816fcc..ad484ce8e88 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1,6 +1,5 @@
 config SCSI
 	bool "Support SCSI controllers"
-	select SPL_LEGACY_BLOCK
 	help
 	  This enables support for SCSI (Small Computer System Interface),
 	  a parallel interface widely used with storage peripherals such as
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 20db2c53065..0ee74d036c7 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -2,7 +2,6 @@ config PVBLOCK
 	bool "Xen para-virtualized block device"
 	depends on DM
 	select BLK
-	select SPL_LEGACY_BLOCK
 	help
 	  This driver implements the front-end of the Xen virtual
 	  block device driver. It communicates with a back-end driver
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 5feafc16820..4305839e5ec 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -20,7 +20,6 @@ config EFI_LOADER
 	select EVENT_DYNAMIC
 	select LIB_UUID
 	imply PARTITION_UUIDS
-	select SPL_LEGACY_BLOCK
 	select REGEX
 	imply FAT
 	imply FAT_WRITE
-- 
2.37.1.595.g718a3a8f04-goog



More information about the U-Boot mailing list