summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ford <aford173@gmail.com>2018-02-06 12:43:56 -0600
committerTom Rini <trini@konsulko.com>2018-02-08 19:09:03 -0500
commit1811a928c6c7604d6d05a84b4d552a7c31b4994e (patch)
tree7290cbb48a592acd901b0fab235dd08efb54b8ee
parent560eeee8c2953badfe2a12737ff8e66fefad7944 (diff)
downloadu-boot-1811a928c6c7604d6d05a84b4d552a7c31b4994e.tar.gz
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 <aford173@gmail.com> [trini: Rename HAVE_BLOCK_DEVICE to CONFIG_BLOCK_DEVICE] Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r--arch/Kconfig1
-rw-r--r--cmd/Kconfig3
-rw-r--r--cmd/blk_common.c2
-rw-r--r--disk/part.c14
-rw-r--r--disk/part_amiga.c2
-rw-r--r--disk/part_dos.c2
-rw-r--r--disk/part_efi.c2
-rw-r--r--disk/part_iso.c2
-rw-r--r--disk/part_mac.c2
-rw-r--r--drivers/ata/Kconfig1
-rw-r--r--drivers/block/Kconfig7
-rw-r--r--drivers/block/blk_legacy.c4
-rw-r--r--drivers/mmc/Kconfig1
-rw-r--r--drivers/nvme/Kconfig1
-rw-r--r--drivers/scsi/Kconfig1
-rw-r--r--include/config_fallbacks.h15
-rwxr-xr-xinclude/configs/blanche.h1
-rw-r--r--include/configs/dragonboard410c.h3
-rw-r--r--include/configs/dragonboard820c.h3
-rw-r--r--lib/efi_loader/Kconfig1
20 files changed, 31 insertions, 37 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 5d57d6da2c..e599e7a39c 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 4d9ef87e94..7368b6df52 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 bf2f626dd6..643fd0bfbc 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 66b8101f98..e9e18a0910 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 f8dae008d7..1b7d915138 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 9dd086d3db..84e672b47b 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 bea8b20bbd..fb221eec09 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 4036b00b25..ef582de7a1 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 e31bc9060c..e65930d8e7 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 990de72309..86ec628104 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 e2c80f2075..73836ada09 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 16d3bfe7f2..ab42bf76d7 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 d5e2816ef0..f2d8256582 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 cad8dbc97b..30974fd3cf 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 db1606e3ce..3c826c95b7 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 70013fe1d0..3d68d9fe31 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 4948bbb063..74f669525d 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 530d667da8..d19e60a6be 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 e28a956e92..c07be34d1b 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 5461833aeb..83d75c4fdc 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