diff --git a/arch/Kconfig b/arch/Kconfig index 5d57d6da2c83a25cffed6f74d4f87668dccba8f8..e599e7a39c15f9eca1cb3106731b2f77592f8a43 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -74,6 +74,7 @@ config SANDBOX select DM_SPI select DM_GPIO select DM_MMC + select HAVE_BLOCK_DEVICE select LZO imply CMD_GETTIME imply CMD_HASH diff --git a/cmd/Kconfig b/cmd/Kconfig index 4d9ef87e94330cdbb014257d41d408ef8b0a14ee..7368b6df5204ea77e10da982aca7f601f6348720 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -672,6 +672,7 @@ config CMD_GPT bool "GPT (GUID Partition Table) command" select PARTITION_UUIDS select EFI_PARTITION + select HAVE_BLOCK_DEVICE imply RANDOM_UUID help Enable the 'gpt' command to ready and write GPT style partition @@ -819,6 +820,7 @@ config CMD_ONENAND config CMD_PART bool "part" select PARTITION_UUIDS + select HAVE_BLOCK_DEVICE help Read and display information about the partition table on various media. @@ -911,6 +913,7 @@ config CMD_UNIVERSE config CMD_USB bool "usb" + select HAVE_BLOCK_DEVICE help USB support. diff --git a/cmd/blk_common.c b/cmd/blk_common.c index bf2f626dd652d5a5238b067f2d9fe13fa00a7cdd..643fd0bfbc8bee18c060e67914a1d176b45cd4cf 100644 --- a/cmd/blk_common.c +++ b/cmd/blk_common.c @@ -12,7 +12,7 @@ #include <common.h> #include <blk.h> -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE int blk_common_cmd(int argc, char * const argv[], enum if_type if_type, int *cur_devnump) { diff --git a/disk/part.c b/disk/part.c index 66b8101f98c7616410d7e1b97f5f68023cb035c9..e9e18a09106f859f13bb020f0ca3d1a9ccf4076b 100644 --- a/disk/part.c +++ b/disk/part.c @@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE static struct part_driver *part_driver_lookup_type(int part_type) { struct part_driver *drv = @@ -80,7 +80,7 @@ struct blk_desc *blk_get_dev(const char *ifname, int dev) } #endif -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE /* ------------------------------------------------------------------------- */ /* @@ -212,7 +212,7 @@ void dev_print (struct blk_desc *dev_desc) } #endif -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE void part_init(struct blk_desc *dev_desc) { @@ -298,12 +298,12 @@ void part_print(struct blk_desc *dev_desc) drv->print(dev_desc); } -#endif /* HAVE_BLOCK_DEVICE */ +#endif /* CONFIG_HAVE_BLOCK_DEVICE */ int part_get_info(struct blk_desc *dev_desc, int part, disk_partition_t *info) { -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE struct part_driver *drv; #if CONFIG_IS_ENABLED(PARTITION_UUIDS) @@ -329,7 +329,7 @@ int part_get_info(struct blk_desc *dev_desc, int part, PRINTF("## Valid %s partition found ##\n", drv->name); return 0; } -#endif /* HAVE_BLOCK_DEVICE */ +#endif /* CONFIG_HAVE_BLOCK_DEVICE */ return -1; } @@ -396,7 +396,7 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str, goto cleanup; } -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE /* * Updates the partition table for the specified hw partition. * Does not need to be done for hwpart 0 since it is default and diff --git a/disk/part_amiga.c b/disk/part_amiga.c index f8dae008d74a8202d6cfcea56b0eba789ea3ead4..1b7d9151381cb5cdb16e9b639dc0bbc5ca585ab2 100644 --- a/disk/part_amiga.c +++ b/disk/part_amiga.c @@ -10,7 +10,7 @@ #include <ide.h> #include "part_amiga.h" -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE #undef AMIGA_DEBUG diff --git a/disk/part_dos.c b/disk/part_dos.c index 9dd086d3db0610d966f446b0f3ea350de9a71f57..84e672b47b92e23680686833770e87b7a2d86031 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -20,7 +20,7 @@ #include <memalign.h> #include "part_dos.h" -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE #define DOS_PART_DEFAULT_SECTOR 512 diff --git a/disk/part_efi.c b/disk/part_efi.c index bea8b20bbd17967e2d5f28050260f9708ed09bb8..fb221eec0904b6b3101e376f5d58855b704ce948 100644 --- a/disk/part_efi.c +++ b/disk/part_efi.c @@ -24,7 +24,7 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE /** * efi_crc32() - EFI version of crc32 function * @buf: buffer to calculate crc32 of diff --git a/disk/part_iso.c b/disk/part_iso.c index 4036b00b2565f9f644323e01df17ef3cf0577e39..ef582de7a116e8d376ef38d08edd322fa1b35aa3 100644 --- a/disk/part_iso.c +++ b/disk/part_iso.c @@ -10,7 +10,7 @@ #include <asm/unaligned.h> #include "part_iso.h" -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE /* #define ISO_PART_DEBUG */ diff --git a/disk/part_mac.c b/disk/part_mac.c index e31bc9060c700668c8e6453fd245572626bb2c6c..e65930d8e7500f5391d6bd3264563aea6df6d97d 100644 --- a/disk/part_mac.c +++ b/disk/part_mac.c @@ -19,7 +19,7 @@ #include <ide.h> #include "part_mac.h" -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE /* stdlib.h causes some compatibility problems; should fixe these! -- wd */ #ifndef __ldiv_t_defined diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 990de72309a222b032798a641042651db467f5e8..86ec628104b2055a82cb67a2058c9376f0986142 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -9,6 +9,7 @@ config AHCI config SATA bool "Support SATA controllers" + select HAVE_BLOCK_DEVICE 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 e2c80f2075e2e15e5dd9dfeafc95043a911f223e..73836ada094be2ed0f94cf033069001b90de71ad 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -10,6 +10,11 @@ config BLK be partitioned into several areas, called 'partitions' in U-Boot. A filesystem can be placed in each partition. +config HAVE_BLOCK_DEVICE + bool "Enable Legacy Block Device" + help + Some devices require block support whether or not DM is enabled + config SPL_BLK bool "Support block devices in SPL" depends on SPL_DM && BLK @@ -33,6 +38,7 @@ config BLOCK_CACHE config IDE bool "Support IDE controllers" + select HAVE_BLOCK_DEVICE help Enables support for IDE (Integrated Drive Electronics) hard drives. This allows access to raw blocks and filesystems on an IDE drive @@ -41,6 +47,7 @@ config IDE config SYSTEMACE bool "Xilinx SystemACE support" + select HAVE_BLOCK_DEVICE help Adding this option adds support for Xilinx SystemACE chips attached via some sort of local bus. The address of the chip must also be diff --git a/drivers/block/blk_legacy.c b/drivers/block/blk_legacy.c index 16d3bfe7f28262f20955ca783d23e1d38d292ffd..ab42bf76d741bdad8242c07d471053dfdeff6b52 100644 --- a/drivers/block/blk_legacy.c +++ b/drivers/block/blk_legacy.c @@ -69,7 +69,7 @@ static int get_desc(struct blk_driver *drv, int devnum, struct blk_desc **descp) return drv->get_dev(devnum, descp); } -#ifdef HAVE_BLOCK_DEVICE +#ifdef CONFIG_HAVE_BLOCK_DEVICE int blk_list_part(enum if_type if_type) { struct blk_driver *drv; @@ -173,7 +173,7 @@ int blk_show_device(enum if_type if_type, int devnum) return 0; } -#endif /* HAVE_BLOCK_DEVICE */ +#endif /* CONFIG_HAVE_BLOCK_DEVICE */ struct blk_desc *blk_get_devnum_by_type(enum if_type if_type, int devnum) { diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index d5e2816ef086f6dd56ca61468d450082f3c8f819..f2d82565822b85d6d5bd9ea03c6a4f18ac143433 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -3,6 +3,7 @@ menu "MMC Host controller Support" config MMC bool "MMC/SD/SDIO card support" default ARM || PPC || SANDBOX + select HAVE_BLOCK_DEVICE help This selects MultiMediaCard, Secure Digital and Secure Digital I/O support. diff --git a/drivers/nvme/Kconfig b/drivers/nvme/Kconfig index cad8dbc97b2dd769f5227b0ece63431e195ed9de..30974fd3cf75d2b47895787e158f61d5ba548195 100644 --- a/drivers/nvme/Kconfig +++ b/drivers/nvme/Kconfig @@ -7,6 +7,7 @@ config NVME bool "NVM Express device support" depends on BLK && PCI + select HAVE_BLOCK_DEVICE 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 db1606e3ce6613c1af2e4bd074c17fe90de8d0f8..3c826c95b78f562369255cfa76952718eef69339 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig @@ -1,5 +1,6 @@ config SCSI bool "Support SCSI controllers" + select HAVE_BLOCK_DEVICE help This enables support for SCSI (Small Computer System Interface), a parallel interface widely used with storage peripherals such as diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h index 70013fe1d076e3adb638c9db9a44f727035a8a00..3d68d9fe31a83146ac72e6858bd20568fbd4fb80 100644 --- a/include/config_fallbacks.h +++ b/include/config_fallbacks.h @@ -29,21 +29,6 @@ #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } #endif -/* Rather than repeat this expression each time, add a define for it */ -#if defined(CONFIG_IDE) || \ - defined(CONFIG_SATA) || \ - defined(CONFIG_SCSI) || \ - defined(CONFIG_CMD_USB) || \ - defined(CONFIG_CMD_PART) || \ - defined(CONFIG_CMD_GPT) || \ - defined(CONFIG_MMC) || \ - defined(CONFIG_NVME) || \ - defined(CONFIG_SYSTEMACE) || \ - (defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)) || \ - defined(CONFIG_SANDBOX) -#define HAVE_BLOCK_DEVICE -#endif - /* Console I/O Buffer Size */ #ifndef CONFIG_SYS_CBSIZE #if defined(CONFIG_CMD_KGDB) diff --git a/include/configs/blanche.h b/include/configs/blanche.h index 4948bbb063d9c669c190e949ea98a317e7a8a0c7..74f669525df354ec2609a5cff3f8557d7ed507b8 100755 --- a/include/configs/blanche.h +++ b/include/configs/blanche.h @@ -98,6 +98,5 @@ /* SDHI */ #define CONFIG_SH_SDHI_FREQ 97500000 -#define HAVE_BLOCK_DEVICE #endif /* __BLANCHE_H */ diff --git a/include/configs/dragonboard410c.h b/include/configs/dragonboard410c.h index 530d667da8f0de23bd01eeea4ceb95c2a73381b9..d19e60a6be1c66314dc6e970e7ecfaf8d82dc27e 100644 --- a/include/configs/dragonboard410c.h +++ b/include/configs/dragonboard410c.h @@ -43,9 +43,6 @@ /* Disabled by default as some sub-commands can brick eMMC */ /*#define CONFIG_SUPPORT_EMMC_BOOT */ -/* Partition table support */ -#define HAVE_BLOCK_DEVICE /* Needed for partition commands */ - #include <config_distro_defaults.h> /* BOOTP options */ diff --git a/include/configs/dragonboard820c.h b/include/configs/dragonboard820c.h index e28a956e92001795e31f0b04cf8f37387f3c2286..c07be34d1b50be6b0e6bd1efbcae8a889403f7a6 100644 --- a/include/configs/dragonboard820c.h +++ b/include/configs/dragonboard820c.h @@ -33,9 +33,6 @@ /* Generic Timer Definitions */ #define COUNTER_FREQUENCY 19000000 -/* Partition table support */ -#define HAVE_BLOCK_DEVICE - /* BOOTP options */ #define CONFIG_BOOTP_BOOTFILESIZE diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index 5461833aeb2f4f020b687a5f41e64ba34c38c16a..83d75c4fdc93a1ec49bb8d622a856931d47009d3 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -7,6 +7,7 @@ config EFI_LOADER depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT default y select LIB_UUID + select HAVE_BLOCK_DEVICE help Select this option if you want to run EFI applications (like grub2) on top of U-Boot. If this option is enabled, U-Boot will expose EFI