nvme: Use blk_create_devicef() API

The codes in nvme_uclass_post_probe() can be replaced to call the
blk_create_devicef() API directly.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Bin Meng 2017-08-22 08:15:15 -07:00 committed by Tom Rini
parent 704e040a51
commit d5b7ee9c6e

View File

@ -26,28 +26,22 @@ static int nvme_info_init(struct uclass *uc)
static int nvme_uclass_post_probe(struct udevice *udev)
{
char name[20];
char *str;
struct udevice *ns_udev;
int i, ret;
struct nvme_dev *ndev = dev_get_priv(udev);
/* Create a blk device for each namespace */
for (i = 0; i < ndev->nn; i++) {
sprintf(name, "nvme-blk#%d", nvme_info->ns_num);
str = strdup(name);
if (!str)
return -ENOMEM;
sprintf(name, "blk#%d", nvme_info->ns_num);
/* The real blksz and size will be set by nvme_blk_probe() */
ret = blk_create_device(udev, "nvme-blk", str, IF_TYPE_NVME,
nvme_info->ns_num++, 512, 0, &ns_udev);
ret = blk_create_devicef(udev, "nvme-blk", name, IF_TYPE_NVME,
nvme_info->ns_num++, 512, 0, &ns_udev);
if (ret) {
free(str);
nvme_info->ns_num--;
return ret;
}
device_set_name_alloced(ns_udev);
}
return 0;