[PATCH v2 09/24] blk: Rename HAVE_BLOCK_DEVICE

Simon Glass sjg at chromium.org
Wed Sep 14 19:10:53 CEST 2022


Hi Heinrich,

On Wed, 14 Sept 2022 at 01:40, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 9/14/22 03:42, AKASHI Takahiro wrote:
> > On Thu, Aug 11, 2022 at 07:34:48PM -0600, Simon Glass wrote:
> >> This option is fact really related to SPL. For U-Boot proper we always use
> >> driver model for block devices, so CONFIG_BLK is enabled if block devices
> >> are in use.
> >>
> >> It is only for SPL that we have two cases:
> >>
> >> - SPL_BLK is enabled, in which case we use driver model and blk-uclass.c
> >> - SPL_BLK is not enabled, in which case (if we need block devices) we must
> >>    use blk_legacy.c
> >>
> >> Rename the symbol to SPL_LEGACY_BLOCK to make this clear. This is
> >> different enough from BLK and SPL_BLK that there should be no confusion.
> >>
> >> Signed-off-by: Simon Glass <sjg at chromium.org>
> >> ---
> >>
> >> (no changes since v1)
> >>
> >>   common/spl/Kconfig                             | 4 ++--
> >>   configs/axm_defconfig                          | 2 +-
> >>   configs/bcm968380gerg_ram_defconfig            | 2 +-
> >>   configs/gardena-smart-gateway-mt7688_defconfig | 2 +-
> >>   configs/nsim_hs38_defconfig                    | 2 +-
> >>   configs/qemu-ppce500_defconfig                 | 2 +-
> >>   disk/Makefile                                  | 4 ++--
> >>   disk/disk-uclass.c                             | 3 +--
> >>   doc/develop/driver-model/migration.rst         | 2 +-
> >>   drivers/Makefile                               | 2 +-
> >>   drivers/ata/Kconfig                            | 2 +-
> >>   drivers/block/Kconfig                          | 8 ++++----
> >>   drivers/block/Makefile                         | 2 +-
> >>   drivers/mmc/Kconfig                            | 2 +-
> >>   drivers/nvme/Kconfig                           | 2 +-
> >>   drivers/scsi/Kconfig                           | 2 +-
> >>   drivers/xen/Kconfig                            | 2 +-
> >>   include/blk.h                                  | 2 +-
> >>   lib/efi_loader/Kconfig                         | 2 +-
> >>   19 files changed, 24 insertions(+), 25 deletions(-)
> >>
> >> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> >> index ee98810e9e9..4c3e74ae5eb 100644
> >> --- a/common/spl/Kconfig
> >> +++ b/common/spl/Kconfig
> >> @@ -792,7 +792,7 @@ config SPL_DM_MAILBOX
> >>   config SPL_MMC
> >>      bool "Support MMC"
> >>      depends on MMC
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      help
> >>        Enable support for MMC (Multimedia Card) within SPL. This enables
> >>        the MMC protocol implementation and allows any enabled drivers to
> >> @@ -1318,7 +1318,7 @@ config SPL_THERMAL
> >>
> >>   config SPL_USB_HOST
> >>      bool "Support USB host drivers"
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      help
> >>        Enable access to USB (Universal Serial Bus) host devices so that
> >>        SPL can load U-Boot from a connected USB peripheral, such as a USB
> >> diff --git a/configs/axm_defconfig b/configs/axm_defconfig
> >> index a5f60bd8d0c..c42fb37d6c9 100644
> >> --- a/configs/axm_defconfig
> >> +++ b/configs/axm_defconfig
> >> @@ -80,7 +80,7 @@ CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
> >>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> >>   CONFIG_SPL_DM=y
> >>   CONFIG_BLK=y
> >> -CONFIG_HAVE_BLOCK_DEVICE=y
> >> +CONFIG_SPL_LEGACY_BLOCK=y
> >>   CONFIG_CLK=y
> >>   CONFIG_CLK_AT91=y
> >>   CONFIG_AT91_GPIO=y
> >> diff --git a/configs/bcm968380gerg_ram_defconfig b/configs/bcm968380gerg_ram_defconfig
> >> index 0475535e991..246add6029c 100644
> >> --- a/configs/bcm968380gerg_ram_defconfig
> >> +++ b/configs/bcm968380gerg_ram_defconfig
> >> @@ -42,7 +42,7 @@ CONFIG_CMD_NAND=y
> >>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> >>   # CONFIG_NET is not set
> >>   # CONFIG_DM_DEVICE_REMOVE is not set
> >> -CONFIG_HAVE_BLOCK_DEVICE=y
> >> +CONFIG_SPL_LEGACY_BLOCK=y
> >>   CONFIG_BCM6345_GPIO=y
> >>   CONFIG_LED=y
> >>   CONFIG_LED_BCM6328=y
> >> diff --git a/configs/gardena-smart-gateway-mt7688_defconfig b/configs/gardena-smart-gateway-mt7688_defconfig
> >> index b9ee281be9f..fdfab14d53e 100644
> >> --- a/configs/gardena-smart-gateway-mt7688_defconfig
> >> +++ b/configs/gardena-smart-gateway-mt7688_defconfig
> >> @@ -78,7 +78,7 @@ CONFIG_VERSION_VARIABLE=y
> >>   CONFIG_NET_RANDOM_ETHADDR=y
> >>   CONFIG_SPL_DM=y
> >>   # CONFIG_DM_DEVICE_REMOVE is not set
> >> -CONFIG_HAVE_BLOCK_DEVICE=y
> >> +CONFIG_SPL_LEGACY_BLOCK=y
> >>   CONFIG_BOOTCOUNT_LIMIT=y
> >>   CONFIG_LED=y
> >>   CONFIG_LED_BLINK=y
> >> diff --git a/configs/nsim_hs38_defconfig b/configs/nsim_hs38_defconfig
> >> index 3c3d1812a79..3f23fc4189f 100644
> >> --- a/configs/nsim_hs38_defconfig
> >> +++ b/configs/nsim_hs38_defconfig
> >> @@ -30,7 +30,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> >>   CONFIG_USE_BOOTFILE=y
> >>   CONFIG_BOOTFILE="uImage"
> >>   CONFIG_BLK=y
> >> -CONFIG_HAVE_BLOCK_DEVICE=y
> >> +CONFIG_SPL_LEGACY_BLOCK=y
> >>   CONFIG_DM_ETH=y
> >>   CONFIG_DM_SERIAL=y
> >>   CONFIG_DEBUG_UART_SHIFT=2
> >> diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig
> >> index 034f7e6935b..3241f5520eb 100644
> >> --- a/configs/qemu-ppce500_defconfig
> >> +++ b/configs/qemu-ppce500_defconfig
> >> @@ -40,7 +40,7 @@ CONFIG_NET_RANDOM_ETHADDR=y
> >>   CONFIG_DM=y
> >>   CONFIG_SIMPLE_BUS_CORRECT_RANGE=y
> >>   CONFIG_BLK=y
> >> -CONFIG_HAVE_BLOCK_DEVICE=y
> >> +CONFIG_SPL_LEGACY_BLOCK=y
> >>   CONFIG_LBA48=y
> >>   CONFIG_CHIP_SELECTS_PER_CTRL=0
> >>   CONFIG_MPC8XXX_GPIO=y
> >> diff --git a/disk/Makefile b/disk/Makefile
> >> index 458e21e3fb7..45588cf66e4 100644
> >> --- a/disk/Makefile
> >> +++ b/disk/Makefile
> >> @@ -10,8 +10,8 @@ ifdef CONFIG_$(SPL_TPL_)BLK
> >>   obj-$(CONFIG_$(SPL_TPL_)PARTITIONS)  += disk-uclass.o
> >>   endif
> >>
> >> -# Must have BLK or HAVE_BLOCK_DEVICE to support partitions
> >> -ifneq ($(CONFIG_$(SPL_TPL_)BLK),$(CONFIG_HAVE_BLOCK_DEVICE),)
> >> +# Must have BLK or SPL_LEGACY_BLOCK to support partitions
> >> +ifneq ($(CONFIG_$(SPL_TPL_)BLK),$(CONFIG_SPL_LEGACY_BLOCK),)
> >>   obj-$(CONFIG_$(SPL_TPL_)MAC_PARTITION)   += part_mac.o
> >>   obj-$(CONFIG_$(SPL_TPL_)DOS_PARTITION)   += part_dos.o
> >>   obj-$(CONFIG_$(SPL_TPL_)ISO_PARTITION)   += part_iso.o
> >> diff --git a/disk/disk-uclass.c b/disk/disk-uclass.c
> >> index f3fb942a6b9..9351a5cfa68 100644
> >> --- a/disk/disk-uclass.c
> >> +++ b/disk/disk-uclass.c
> >> @@ -27,8 +27,7 @@ int part_create_block_devices(struct udevice *blk_dev)
> >>      struct udevice *dev;
> >>      int ret;
> >>
> >> -    if (!CONFIG_IS_ENABLED(PARTITIONS) ||
> >> -        !CONFIG_IS_ENABLED(HAVE_BLOCK_DEVICE))
> >> +    if (!CONFIG_IS_ENABLED(PARTITIONS) || !blk_enabled())
> >>              return 0;
> >>
> >>      if (device_get_uclass_id(blk_dev) != UCLASS_BLK)
> >> diff --git a/doc/develop/driver-model/migration.rst b/doc/develop/driver-model/migration.rst
> >> index 5a604369258..742fea5515c 100644
> >> --- a/doc/develop/driver-model/migration.rst
> >> +++ b/doc/develop/driver-model/migration.rst
> >> @@ -57,7 +57,7 @@ In concert with maintainers migrating their block device usage to the
> >>   appropriate DM driver, CONFIG_BLK needs to be set as well.  The final deadline
> >>   here coincides with the final deadline for migration of the various block
> >>   subsystems.  At this point we will be able to audit and correct the logic in
> >> -Kconfig around using CONFIG_PARTITIONS and CONFIG_HAVE_BLOCK_DEVICE and make
> >> +Kconfig around using CONFIG_PARTITIONS and CONFIG_SPL_LEGACY_BLOCK and make
> >>   use of CONFIG_BLK / CONFIG_SPL_BLK as needed.
> >>
> >>   CONFIG_DM_SPI / CONFIG_DM_SPI_FLASH
> >> diff --git a/drivers/Makefile b/drivers/Makefile
> >> index f2154e15d6a..9d9f69a3c9a 100644
> >> --- a/drivers/Makefile
> >> +++ b/drivers/Makefile
> >> @@ -59,7 +59,7 @@ obj-$(CONFIG_SPL_WATCHDOG) += watchdog/
> >>   obj-$(CONFIG_SPL_USB_HOST) += usb/host/
> >>   obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/
> >>   obj-$(CONFIG_SPL_SATA) += ata/ scsi/
> >> -obj-$(CONFIG_HAVE_BLOCK_DEVICE) += block/
> >> +obj-$(CONFIG_SPL_LEGACY_BLOCK) += block/
> >>   obj-$(CONFIG_SPL_BLK) += block/
> >>   obj-$(CONFIG_SPL_THERMAL) += thermal/
> >>
> >> diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
> >> index 70e6bd321a6..c3f2ac058a3 100644
> >> --- a/drivers/ata/Kconfig
> >> +++ b/drivers/ata/Kconfig
> >> @@ -9,7 +9,7 @@ config AHCI
> >>
> >>   config SATA
> >>      bool "Support SATA controllers"
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      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 df242df9c5f..5a0c434058a 100644
> >> --- a/drivers/block/Kconfig
> >> +++ b/drivers/block/Kconfig
> >> @@ -11,7 +11,7 @@ config BLK
> >>        be partitioned into several areas, called 'partitions' in U-Boot.
> >>        A filesystem can be placed in each partition.
> >>
> >> -config HAVE_BLOCK_DEVICE
> >> +config SPL_LEGACY_BLOCK
> >>      bool "Enable Legacy Block Device"
> >>      help
> >>        Some devices require block support whether or not DM is enabled
> >> @@ -109,7 +109,7 @@ endif  # EFI_MEDIA
> >>
> >>   config IDE
> >>      bool "Support IDE controllers"
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      help
> >>        Enables support for IDE (Integrated Drive Electronics) hard drives.
> >>        This allows access to raw blocks and filesystems on an IDE drive
> >> @@ -222,7 +222,7 @@ endif  # IDE
> >>
> >>   config LBA48
> >>      bool "Enable LBA support for disks larger than 137GB"
> >> -    depends on HAVE_BLOCK_DEVICE
> >> +    depends on SPL_LEGACY_BLOCK
> >>      help
> >>        Set this to enable support for disks larger than 137GB.
> >>        Also look at CONFIG_SYS_64BIT_LBA.  Without both of these, LBA48
> >> @@ -231,7 +231,7 @@ config LBA48
> >>
> >>   config SYS_64BIT_LBA
> >>      bool "Enable 64bit number of blocks on a block device"
> >> -    depends on HAVE_BLOCK_DEVICE
> >> +    depends on SPL_LEGACY_BLOCK
> >>      help
> >>        Make the block subsystem use 64bit sector addresses, rather than the
> >>        default of 32bit.
> >> diff --git a/drivers/block/Makefile b/drivers/block/Makefile
> >> index b221a7c6eea..f48d3e12140 100644
> >> --- a/drivers/block/Makefile
> >> +++ b/drivers/block/Makefile
> >> @@ -6,7 +6,7 @@
> >>   obj-$(CONFIG_$(SPL_)BLK) += blk-uclass.o
> >>
> >>   ifndef CONFIG_$(SPL_)BLK
> >> -obj-$(CONFIG_HAVE_BLOCK_DEVICE) += blk_legacy.o
> >> +obj-$(CONFIG_SPL_LEGACY_BLOCK) += blk_legacy.o
> >>   endif
> >>
> >>   ifndef CONFIG_SPL_BUILD
> >> diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
> >> index c5e1a1b0981..d45ad1a541d 100644
> >> --- a/drivers/mmc/Kconfig
> >> +++ b/drivers/mmc/Kconfig
> >> @@ -3,7 +3,7 @@ menu "MMC Host controller Support"
> >>   config MMC
> >>      bool "MMC/SD/SDIO card support"
> >>      default ARM || PPC || SANDBOX
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      select DM_MMC if DM
> >>      help
> >>        This selects MultiMediaCard, Secure Digital and Secure
> >> diff --git a/drivers/nvme/Kconfig b/drivers/nvme/Kconfig
> >> index 2a103ab5ed7..7b6d54615f8 100644
> >> --- a/drivers/nvme/Kconfig
> >> +++ b/drivers/nvme/Kconfig
> >> @@ -4,7 +4,7 @@
> >>
> >>   config NVME
> >>      bool "NVM Express device support"
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      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 19872fb52d8..4d643816fcc 100644
> >> --- a/drivers/scsi/Kconfig
> >> +++ b/drivers/scsi/Kconfig
> >> @@ -1,6 +1,6 @@
> >>   config SCSI
> >>      bool "Support SCSI controllers"
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      help
> >>        This enables support for SCSI (Small Computer System Interface),
> >>        a parallel interface widely used with storage peripherals such as
> >> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
> >> index 6ad2a936682..20db2c53065 100644
> >> --- a/drivers/xen/Kconfig
> >> +++ b/drivers/xen/Kconfig
> >> @@ -2,7 +2,7 @@ config PVBLOCK
> >>      bool "Xen para-virtualized block device"
> >>      depends on DM
> >>      select BLK
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >>      help
> >>        This driver implements the front-end of the Xen virtual
> >>        block device driver. It communicates with a back-end driver
> >> diff --git a/include/blk.h b/include/blk.h
> >> index 332481a90b8..5bdffe74015 100644
> >> --- a/include/blk.h
> >> +++ b/include/blk.h
> >> @@ -23,7 +23,7 @@ struct udevice;
> >>
> >>   static inline bool blk_enabled(void)
> >>   {
> >> -    return CONFIG_IS_ENABLED(BLK) || IS_ENABLED(CONFIG_HAVE_BLOCK_DEVICE);
> >> +    return CONFIG_IS_ENABLED(BLK) || IS_ENABLED(CONFIG_SPL_LEGACY_BLOCK);
> >>   }
> >>
> >>   /* Interface types: */
> >> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> >> index e3f2402d0e8..5feafc16820 100644
> >> --- a/lib/efi_loader/Kconfig
> >> +++ b/lib/efi_loader/Kconfig
> >> @@ -20,7 +20,7 @@ config EFI_LOADER
> >>      select EVENT_DYNAMIC
> >>      select LIB_UUID
> >>      imply PARTITION_UUIDS
> >> -    select HAVE_BLOCK_DEVICE
> >> +    select SPL_LEGACY_BLOCK
> >
> > I don't think we need this "select" as efi_disk implementation
> > now fully relies on U-Boot dm.
> > (Kconfig has "depends on BLK".)
> >
> > -Takahiro Akashi
>
> The UEFI sub-system does not exist in SPL. Hence there should be no SPL
> configuration flag affected.

Yes, but note this patch is just about making sure things are exactly
as they are now, just with a rename. A later patches removes this from
here.

Regards,
Simon


More information about the U-Boot mailing list