In some cases we do not want to enable partition support in SPL. Add an
option to allow this.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 disk/Kconfig               | 24 ++++++++++++++++++++----
 disk/Makefile              |  6 +++---
 drivers/block/blk-uclass.c |  2 +-
 3 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/disk/Kconfig b/disk/Kconfig
index cee16a80bc2..13700322e97 100644
--- a/disk/Kconfig
+++ b/disk/Kconfig
@@ -4,10 +4,6 @@ menu "Partition Types"
 config PARTITIONS
        bool "Enable Partition Labels (disklabels) support"
        default y
-       select SPL_SPRINTF if SPL
-       select TPL_SPRINTF if TPL
-       select SPL_STRTO if SPL
-       select TPL_STRTO if TPL
        help
          Partition Labels (disklabels) Supported:
          Zero or more of the following:
@@ -23,6 +19,26 @@ config PARTITIONS
          you must configure support for at least one non-MTD partition type
          as well.
 
+config SPL_PARTITIONS
+       bool "Enable Partition Labels (disklabels) support in SPL"
+       default y if PARTITIONS
+       select SPL_SPRINTF
+       select SPL_STRTO
+       help
+         Enable this for base partition support in SPL. The required
+         partition table types shold be enabled separately. This add a
+         small amount of size to SPL, typically 500 bytes.
+
+config TPL_PARTITIONS
+       bool "Enable Partition Labels (disklabels) support in TPL"
+       default y if PARTITIONS
+       select TPL_SPRINTF
+       select TPL_STRTO
+       help
+         Enable this for base partition support in SPL. The required
+         partition table types shold be enabled separately. This add a
+         small amount of size to SPL, typically 500 bytes.
+
 config MAC_PARTITION
        bool "Enable Apple's MacOS partition table"
        depends on PARTITIONS
diff --git a/disk/Makefile b/disk/Makefile
index ec37b74f5f4..ffd7b07f867 100644
--- a/disk/Makefile
+++ b/disk/Makefile
@@ -5,9 +5,9 @@
 
 #ccflags-y += -DET_DEBUG -DDEBUG
 
-obj-$(CONFIG_PARTITIONS)       += part.o
-ifdef CONFIG_$(SPL_)BLK
-obj-$(CONFIG_PARTITIONS)       += disk-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)PARTITIONS)    += part.o
+ifdef CONFIG_$(SPL_TPL_)BLK
+obj-$(CONFIG_$(SPL_TPL_)PARTITIONS)    += disk-uclass.o
 endif
 obj-$(CONFIG_$(SPL_)MAC_PARTITION)   += part_mac.o
 obj-$(CONFIG_$(SPL_)DOS_PARTITION)   += part_dos.o
diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
index 58dc74e71f1..bcd18ed38b2 100644
--- a/drivers/block/blk-uclass.c
+++ b/drivers/block/blk-uclass.c
@@ -712,7 +712,7 @@ int blk_unbind_all(int if_type)
 
 static int blk_post_probe(struct udevice *dev)
 {
-       if (IS_ENABLED(CONFIG_PARTITIONS) &&
+       if (CONFIG_IS_ENABLED(PARTITIONS) &&
            IS_ENABLED(CONFIG_HAVE_BLOCK_DEVICE)) {
                struct blk_desc *desc = dev_get_uclass_plat(dev);
 
-- 
2.35.1.723.g4982287a31-goog

Reply via email to