summaryrefslogtreecommitdiff
path: root/include/blk.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-08-11 19:34:45 -0600
committerTom Rini <trini@konsulko.com>2022-09-16 11:05:00 -0400
commita51eb8de31492d2139e66a7e66b8fb3f03ddca50 (patch)
tree65ad7cdda932cfa146f811a25b4a0648ebe47d0f /include/blk.h
parentfc614d2044a41ce98588f591349ac0f8c1c43ff6 (diff)
downloadu-boot-a51eb8de31492d2139e66a7e66b8fb3f03ddca50.tar.gz
u-boot-a51eb8de31492d2139e66a7e66b8fb3f03ddca50.tar.bz2
u-boot-a51eb8de31492d2139e66a7e66b8fb3f03ddca50.zip
blk: Use a function for whether block devices are available
At present we use HAVE_BLOCK_DEVICE to indicate when block devices are available. This is a very strange option, since it partially duplicates the BLK option used by driver model. It also covers both U-Boot proper and SPL, even though one might have block devices and another not. As a first step towards correcting this, create a new inline function called blk_enabled() which indicates if block devices are available. This cannot be used in Makefiles, or #if clauses, but can be used in C code. A function is useful because we cannot use CONFIG_IS_ENABLED(BLK) to decide if block devices are needed, since we must consider the legacy block interface, enabled by HAVE_BLOCK_DEVICE Update a few places where it can be used and drop some unnecessary #if checks around some functions in disk/part.c - rely on the compiler's dead-code elimination instead. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/blk.h')
-rw-r--r--include/blk.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/blk.h b/include/blk.h
index 9503369db8..332481a90b 100644
--- a/include/blk.h
+++ b/include/blk.h
@@ -21,6 +21,11 @@ typedef ulong lbaint_t;
struct udevice;
+static inline bool blk_enabled(void)
+{
+ return CONFIG_IS_ENABLED(BLK) || IS_ENABLED(CONFIG_HAVE_BLOCK_DEVICE);
+}
+
/* Interface types: */
enum if_type {
IF_TYPE_UNKNOWN = 0,