[RFC 01/22] part: call part_init() in blk_get_device_by_str() only for MMC

Simon Glass sjg at chromium.org
Mon Oct 11 16:32:52 CEST 2021


Hi Heinrich,

On Mon, 11 Oct 2021 at 04:07, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
>
>
> On 10/1/21 13:48, Peter Robinson wrote:
> > On Fri, Oct 1, 2021 at 6:03 AM AKASHI Takahiro
> > <takahiro.akashi at linaro.org> wrote:
> >>
> >> In blk_get_device_by_str(), the comment says: "Updates the partition table
> >> for the specified hw partition."
> >> Since hw partition is supported only on MMC, it makes no sense to do so
> >> for other devices.
> >
> > Is it not also supported on UFS, and I believe it may also be an
> > option in the NVME spec too.
>
> An NVMe device may expose multiple namespaces. blk_create_devicef() is
> called for each namespace.
>
> A SCSI device may have multiple LUNs. blk_create_devicef() is called for
> each LUN.
>
> This is what the tree shown by 'dm tree' with on NVMe namespace and one LUN.
>
> Class  Index Driver         Name
> ---------------------------------------------------------------------
> root       0 root_driver    root_driver
> simple_bus 0 simple_bus     |- soc
> spi        1 sifive_spi     |  |- spi at 10050000
> mmc        0 mmc_spi        |  |  `- mmc at 0
> blk        0 mmc_blk        |  |     `- mmc at 0.blk
> pci        0 pcie_sifive    |  |- pcie at e00000000
> pci        1 pci_bridge_drv |  |  `- pci_0:0.0
> pci        2 pci_bridge_drv |  |     `- pci_1:0.0
> pci        5 pci_bridge_drv |  |        |- pci_2:3.0
> ahci       0 ahci_pci       |  |        |  `- ahci_pci
> scsi       0 ahci_scsi      |  |        |     `- ahci_scsi
> blk        2 scsi_blk       |  |        |        `- ahci_scsi.id0lun0
> pci        6 pci_bridge_drv |  |        |- pci_2:4.0
> nvme       0 nvme           |  |        |  `- nvme#0
> blk        1 nvme-blk       |  |        |     `- nvme#0.blk#1
>
> Namespaces and LUNs are modeled as block devices (class = 'blk').

So multiple block devices per NVMe device? I did not know that was supported.

We need a sandbox driver for NVMe as it has no tests at present. Since
it has no tests, I don't think we can expect people to know how to
maintain whatever functionality is there.

[..]

Regards,
Simon


More information about the U-Boot mailing list