Hi Hannes, On Thu, Dec 13, 2018 at 3:32 PM Hannes Schmelzer <han...@schmelzer.or.at> wrote: > > > > On 12/13/18 8:26 AM, Bin Meng wrote: > > Hi Hannes, > Hi Bin, > > On Thu, Dec 13, 2018 at 3:19 PM Hannes Schmelzer <han...@schmelzer.or.at> > > wrote: > >> > >> > >> On 10/15/18 11:21 AM, Bin Meng wrote: > >>> part_init() is currently called in every DM BLK driver, either > >>> in its bind() or probe() method. However we can use the BLK > >>> uclass driver's post_probe() method to do it automatically. > >>> > >>> Update all DM BLK drivers to adopt this change. > >>> > >>> Signed-off-by: Bin Meng <bmeng...@gmail.com> > >>> Reviewed-by: Simon Glass <s...@chromium.org> > >>> --- > >>> > >>> Changes in v3: None > >>> Changes in v2: None > >>> > >>> cmd/sata.c | 9 --------- > >>> common/usb_storage.c | 4 +--- > >>> drivers/block/blk-uclass.c | 12 ++++++++++++ > >>> drivers/block/ide.c | 2 -- > >>> drivers/block/sandbox.c | 2 +- > >>> drivers/mmc/mmc.c | 3 --- > >>> drivers/nvme/nvme.c | 1 - > >>> drivers/scsi/scsi.c | 1 - > >>> lib/efi_driver/efi_block_device.c | 2 -- > >>> 9 files changed, 14 insertions(+), 22 deletions(-) > >> Hi Bin, > >> > >> sorry for this very late report on this. > >> I Just merged the 'v2019.01-rc1' tag into my branch and noticed that > >> filesystem on my eMMC targets are not working anymore. > >> Bisect showed up, that this commit breaks the stuff. > >> > >> I reviewed the change a bit and i would say that all other block devices > >> should work as known, except MMC, NVME and EFI (i do not have one, so i > >> cannot test). > >>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c > >>> index 585951c..d6b9cdc 100644 > >>> --- a/drivers/mmc/mmc.c > >>> +++ b/drivers/mmc/mmc.c > >>> @@ -2444,9 +2444,6 @@ static int mmc_startup(struct mmc *mmc) > >>> bdesc->product[0] = 0; > >>> bdesc->revision[0] = 0; > >>> #endif > >>> -#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBDISK_SUPPORT) > >>> - part_init(bdesc); > >>> -#endif > >>> > >>> return 0; > >>> } > >> i changed this to: > >> > >> #if (!defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBDISK_SUPPORT)) && > >> \ > >> !defined(CONFIG_BLK) > >> part_init(bdesc); > >> #endif > > I don't understand. The patch above removed 3 lines. Did you say that > > you added back these 3 lines with additional "!defined(CONFIG_BLK)"? > Yes, > in case if CONFIG_BLK is disabled (meaning blk-uclass.c isn't compiled > in and does therefore nothing), > the part_init(...) has to be done here.
OK, now I understand. But you should convert your board to use DM MMC instead. It's the right timing now. > > > >>> diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c > >>> index eb6fded..1ee0a0a 100644 > >>> --- a/drivers/nvme/nvme.c > >>> +++ b/drivers/nvme/nvme.c > >>> @@ -664,7 +664,6 @@ static int nvme_blk_probe(struct udevice *udev) > >>> sprintf(desc->vendor, "0x%.4x", pplat->vendor); > >>> memcpy(desc->product, ndev->serial, sizeof(ndev->serial)); > >>> memcpy(desc->revision, ndev->firmware_rev, > >>> sizeof(ndev->firmware_rev)); > >>> - part_init(desc); > >>> > >>> return 0; > >>> } > >>> > >>> diff --git a/lib/efi_driver/efi_block_device.c > >>> b/lib/efi_driver/efi_block_device.c > >>> index 7b71b4d..3f147cf 100644 > >>> --- a/lib/efi_driver/efi_block_device.c > >>> +++ b/lib/efi_driver/efi_block_device.c > >>> @@ -173,8 +173,6 @@ static int efi_bl_bind(efi_handle_t handle, void > >>> *interface) > >>> return ret; > >>> EFI_PRINT("%s: block device '%s' created\n", __func__, bdev->name); > >>> > >>> - ret = blk_prepare_device(bdev); > >>> - > >>> /* Create handles for the partions of the block device */ > >>> disks = efi_bl_bind_partitions(handle, bdev); > >>> EFI_PRINT("Found %d partitions\n", disks); > >> here i cannot see some alternative if CONFIG_BLK is enabled. > >> > >> I don't understand your comments here too... > With alternative i mean, that: > If CONFIG_BLK is disabled within the code here some part_init has to be > done. No, this one I still don't understand. The EFI block device is a DM driver. It cannot work when CONFIG_BLK is disabled. > Otherwise Partitions and following filesystems cannot work. > > > >> I know, everything shall be converted to DM since the deadline is quite > >> close. > >> But i also think that upon this day everything should work as expected. > >> Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot