From 1811a928c6c7604d6d05a84b4d552a7c31b4994e Mon Sep 17 00:00:00 2001 From: Adam Ford Date: Tue, 6 Feb 2018 12:43:56 -0600 Subject: [PATCH] Move most CONFIG_HAVE_BLOCK_DEVICE to Kconfig config_fallbacks.h has some logic that sets HAVE_BLOCK_DEVICE based on a list of enabled options. Moving HAVE_BLOCK_DEVICE to Kconfig allows us to drastically shrink the logic in config_fallbacks.h Signed-off-by: Adam Ford [trini: Rename HAVE_BLOCK_DEVICE to CONFIG_BLOCK_DEVICE] Signed-off-by: Tom Rini --- arch/Kconfig | 1 + cmd/Kconfig | 3 +++ cmd/blk_common.c | 2 +- disk/part.c | 14 +++++++------- disk/part_amiga.c | 2 +- disk/part_dos.c | 2 +- disk/part_efi.c | 2 +- disk/part_iso.c | 2 +- disk/part_mac.c | 2 +- drivers/ata/Kconfig | 1 + drivers/block/Kconfig | 7 +++++++ drivers/block/blk_legacy.c | 4 ++-- drivers/mmc/Kconfig | 1 + drivers/nvme/Kconfig | 1 + drivers/scsi/Kconfig | 1 + include/config_fallbacks.h | 15 --------------- include/configs/blanche.h | 1 - include/configs/dragonboard410c.h | 3 --- include/configs/dragonboard820c.h | 3 --- lib/efi_loader/Kconfig | 1 + 20 files changed, 31 insertions(+), 37 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 5d57d6d..e599e7a 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 4d9ef87..7368b6d 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 bf2f626..643fd0b 100644 --- a/cmd/blk_common.c +++ b/cmd/blk_common.c @@ -12,7 +12,7 @@ #include #include -#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 66b8101..e9e18a0 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 f8dae00..1b7d915 100644 --- a/disk/part_amiga.c +++ b/disk/part_amiga.c @@ -10,7 +10,7 @@ #include #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 9dd086d..84e672b 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -20,7 +20,7 @@ #include #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 bea8b20..fb221ee 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 4036b00..ef582de 100644 --- a/disk/part_iso.c +++ b/disk/part_iso.c @@ -10,7 +10,7 @@ #include #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 e31bc90..e65930d 100644 --- a/disk/part_mac.c +++ b/disk/part_mac.c @@ -19,7 +19,7 @@ #include #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 990de72..86ec628 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 e2c80f2..73836ad 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 16d3bfe..ab42bf7 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 d5e2816..f2d8256 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 cad8dbc..30974fd 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 db1606e..3c826c9 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 70013fe..3d68d9f 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 4948bbb..74f6695 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 530d667..d19e60a 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 /* BOOTP options */ diff --git a/include/configs/dragonboard820c.h b/include/configs/dragonboard820c.h index e28a956..c07be34 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 5461833..83d75c4 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