virtio: Avoid repeating a long expression

Use a local variable to hold this name, to reduce the amount of code that
needs to be read.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2023-01-17 10:47:48 -07:00 committed by Tom Rini
parent 758c706c68
commit 59a6be9b11

View File

@ -214,6 +214,7 @@ static int virtio_uclass_post_probe(struct udevice *udev)
struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(udev); struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(udev);
char dev_name[30], *str; char dev_name[30], *str;
struct udevice *vdev; struct udevice *vdev;
const char *name;
int ret; int ret;
if (uc_priv->device >= VIRTIO_ID_MAX_NUM) { if (uc_priv->device >= VIRTIO_ID_MAX_NUM) {
@ -222,20 +223,19 @@ static int virtio_uclass_post_probe(struct udevice *udev)
return 0; return 0;
} }
if (!virtio_drv_name[uc_priv->device]) { name = virtio_drv_name[uc_priv->device];
if (!name) {
debug("(%s): underlying virtio device driver unavailable\n", debug("(%s): underlying virtio device driver unavailable\n",
udev->name); udev->name);
return 0; return 0;
} }
snprintf(dev_name, sizeof(dev_name), "%s#%d", snprintf(dev_name, sizeof(dev_name), "%s#%d", name, dev_seq(udev));
virtio_drv_name[uc_priv->device], dev_seq(udev));
str = strdup(dev_name); str = strdup(dev_name);
if (!str) if (!str)
return -ENOMEM; return -ENOMEM;
ret = device_bind_driver(udev, virtio_drv_name[uc_priv->device], ret = device_bind_driver(udev, name, str, &vdev);
str, &vdev);
if (ret == -ENOENT) { if (ret == -ENOENT) {
debug("(%s): no driver configured\n", udev->name); debug("(%s): no driver configured\n", udev->name);
return 0; return 0;