[U-Boot] [PATCH v4 1/2] disk: update to use SPL_PARTITIONS for SPL

Kever Yang kever.yang at rock-chips.com
Thu Nov 28 03:06:41 UTC 2019


Hi Tom, Simon
  ping...
  Is it OK to merge this patch?

Thanks
- Kever

Kever Yang <kever.yang at rock-chips.com> 于2019年8月15日周四 下午4:32写道:

> The SPL disk driver can not depends on SPL_FRAMEWORK & PARTITIONS, which
> will enable the disk driver when we actually not need it. Use a separate
> Kconfig to control the partition driver in SPL and fix the issue caused by:
> Fixes: 91ff686562 ("blk: Rework guard around part_init call")
>
> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v4:
> - format the commit message to ~75 columns.
>
> Changes in v3:
> - update code in blk-uclass.c
>
> Changes in v2:
> - add this patch
>
>  common/spl/Kconfig         |  2 +-
>  disk/Kconfig               | 20 ++++++++++++--------
>  disk/Makefile              |  2 +-
>  drivers/block/blk-uclass.c |  2 +-
>  scripts/Makefile.spl       |  2 +-
>  5 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index 5978fb2934..094680e54d 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -544,7 +544,7 @@ config SPL_LIBCOMMON_SUPPORT
>
>  config SPL_LIBDISK_SUPPORT
>         bool "Support disk partitions"
> -       select PARTITIONS
> +       select SPL_PARTITIONS
>         help
>           Enable support for disk partitions within SPL. 'Disk' is
> something
>           of a misnomer as it includes non-spinning media such as flash (as
> diff --git a/disk/Kconfig b/disk/Kconfig
> index 28fb81c2ee..43e76cb49d 100644
> --- a/disk/Kconfig
> +++ b/disk/Kconfig
> @@ -4,9 +4,7 @@ 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:
> @@ -23,6 +21,12 @@ config PARTITIONS
>           you must configure support for at least one non-MTD partition
> type
>           as well.
>
> +config SPL_PARTITIONS
> +       select SPL_SPRINTF
> +       select SPL_STRTO
> +       bool "Enable Partition Labels (disklabels) support for SPL"
> +       depends on SPL
> +
>  config MAC_PARTITION
>         bool "Enable Apple's MacOS partition table"
>         depends on PARTITIONS
> @@ -32,7 +36,7 @@ config MAC_PARTITION
>
>  config SPL_MAC_PARTITION
>         bool "Enable Apple's MacOS partition table for SPL"
> -       depends on SPL && PARTITIONS
> +       depends on SPL_PARTITIONS
>         default y if MAC_PARTITION
>
>  config DOS_PARTITION
> @@ -45,7 +49,7 @@ config DOS_PARTITION
>
>  config SPL_DOS_PARTITION
>         bool "Enable MS Dos partition table for SPL"
> -       depends on SPL && PARTITIONS
> +       depends on SPL_PARTITIONS
>         default y if DOS_PARTITION
>
>  config ISO_PARTITION
> @@ -56,7 +60,7 @@ config ISO_PARTITION
>
>  config SPL_ISO_PARTITION
>         bool "Enable ISO partition table for SPL"
> -       depends on SPL && PARTITIONS
> +       depends on SPL_PARTITIONS
>
>  config AMIGA_PARTITION
>         bool "Enable AMIGA partition table"
> @@ -67,7 +71,7 @@ config AMIGA_PARTITION
>
>  config SPL_AMIGA_PARTITION
>         bool "Enable AMIGA partition table for SPL"
> -       depends on SPL && PARTITIONS
> +       depends on SPL_PARTITIONS
>         default y if AMIGA_PARTITION
>
>  config EFI_PARTITION
> @@ -111,7 +115,7 @@ config EFI_PARTITION_ENTRIES_OFF
>
>  config SPL_EFI_PARTITION
>         bool "Enable EFI GPT partition table for SPL"
> -       depends on  SPL && PARTITIONS
> +       depends on  SPL_PARTITIONS
>         default y if EFI_PARTITION
>
>  config PARTITION_UUIDS
> @@ -125,7 +129,7 @@ config PARTITION_UUIDS
>
>  config SPL_PARTITION_UUIDS
>         bool "Enable support of UUID for partition in SPL"
> -       depends on SPL && PARTITIONS
> +       depends on SPL_PARTITIONS
>         default y if SPL_EFI_PARTITION
>
>  config PARTITION_TYPE_GUID
> diff --git a/disk/Makefile b/disk/Makefile
> index ccd0335959..92fcc2b4ac 100644
> --- a/disk/Makefile
> +++ b/disk/Makefile
> @@ -5,7 +5,7 @@
>
>  #ccflags-y += -DET_DEBUG -DDEBUG
>
> -obj-$(CONFIG_PARTITIONS)       += part.o
> +obj-$(CONFIG_$(SPL_)PARTITIONS)      += part.o
>  obj-$(CONFIG_$(SPL_)MAC_PARTITION)   += part_mac.o
>  obj-$(CONFIG_$(SPL_)DOS_PARTITION)   += part_dos.o
>  obj-$(CONFIG_$(SPL_)ISO_PARTITION)   += part_iso.o
> diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
> index c23b6682a6..425ec3259f 100644
> --- a/drivers/block/blk-uclass.c
> +++ b/drivers/block/blk-uclass.c
> @@ -649,7 +649,7 @@ int blk_unbind_all(int if_type)
>
>  static int blk_post_probe(struct udevice *dev)
>  {
> -#if defined(CONFIG_PARTITIONS) && defined(CONFIG_HAVE_BLOCK_DEVICE)
> +#if CONFIG_IS_ENABLED(PARTITIONS) && defined(CONFIG_HAVE_BLOCK_DEVICE)
>         struct blk_desc *desc = dev_get_uclass_platdata(dev);
>
>         part_init(desc);
> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
> index 7af6b120b6..3535978634 100644
> --- a/scripts/Makefile.spl
> +++ b/scripts/Makefile.spl
> @@ -82,7 +82,7 @@ else
>  libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/ cmd/ env/
>  libs-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/
>  ifdef CONFIG_SPL_FRAMEWORK
> -libs-$(CONFIG_PARTITIONS) += disk/
> +libs-$(CONFIG_SPL_PARTITIONS) += disk/
>  endif
>  endif
>
> --
> 2.17.1
>
>


More information about the U-Boot mailing list