diff --git a/drivers/rpmsg/rpmsg_virtio.c b/drivers/rpmsg/rpmsg_virtio.c index 2983d624b1f..e28bb6b60d7 100644 --- a/drivers/rpmsg/rpmsg_virtio.c +++ b/drivers/rpmsg/rpmsg_virtio.c @@ -642,21 +642,25 @@ int rpmsg_virtio_probe(FAR struct virtio_device *vdev) DEBUGASSERT(virtio_has_feature(vdev, VIRTIO_RPMSG_F_CPUNAME)); if (vdev->role == VIRTIO_DEV_DRIVER) { - virtio_read_config(vdev, offsetof(struct fw_rsc_config, host_cpuname), - priv->rpmsg.local_cpuname, - VIRTIO_RPMSG_CPUNAME_SIZE); - virtio_read_config(vdev, - offsetof(struct fw_rsc_config, remote_cpuname), - priv->rpmsg.cpuname, VIRTIO_RPMSG_CPUNAME_SIZE); + virtio_read_config_bytes(vdev, offsetof(struct fw_rsc_config, + host_cpuname), + priv->rpmsg.local_cpuname, + VIRTIO_RPMSG_CPUNAME_SIZE); + virtio_read_config_bytes(vdev, offsetof(struct fw_rsc_config, + remote_cpuname), + priv->rpmsg.cpuname, + VIRTIO_RPMSG_CPUNAME_SIZE); } else { - virtio_read_config(vdev, offsetof(struct fw_rsc_config, host_cpuname), - priv->rpmsg.cpuname, VIRTIO_RPMSG_CPUNAME_SIZE); - virtio_read_config(vdev, - offsetof(struct fw_rsc_config, remote_cpuname), - priv->rpmsg.local_cpuname, - VIRTIO_RPMSG_CPUNAME_SIZE); + virtio_read_config_bytes(vdev, offsetof(struct fw_rsc_config, + host_cpuname), + priv->rpmsg.cpuname, + VIRTIO_RPMSG_CPUNAME_SIZE); + virtio_read_config_bytes(vdev, offsetof(struct fw_rsc_config, + remote_cpuname), + priv->rpmsg.local_cpuname, + VIRTIO_RPMSG_CPUNAME_SIZE); } /* Register the rpmsg to rpmsg framework */ diff --git a/drivers/virtio/virtio-net.c b/drivers/virtio/virtio-net.c index b289fc7dc87..84e850510e1 100644 --- a/drivers/virtio/virtio-net.c +++ b/drivers/virtio/virtio-net.c @@ -614,8 +614,9 @@ static void virtio_net_set_macaddr(FAR struct virtio_net_priv_s *priv) if (virtio_has_feature(vdev, VIRTIO_NET_F_MAC)) { - virtio_read_config(vdev, offsetof(struct virtio_net_config_s, mac), - mac, IFHWADDRLEN); + virtio_read_config_bytes(vdev, + offsetof(struct virtio_net_config_s, mac), + mac, IFHWADDRLEN); } else { diff --git a/drivers/virtio/virtio-snd.c b/drivers/virtio/virtio-snd.c index 7952fb7fc9d..d22078f30f5 100644 --- a/drivers/virtio/virtio-snd.c +++ b/drivers/virtio/virtio-snd.c @@ -1107,8 +1107,12 @@ static int virtio_snd_init(FAR struct virtio_snd_s *priv) virtio_set_status(priv->vdev, VIRTIO_CONFIG_STATUS_DRIVER_OK); - virtio_read_config(priv->vdev, 0, &priv->config, - sizeof(struct virtio_snd_config)); + virtio_read_config_member(priv->vdev, struct virtio_snd_config, jacks, + &priv->config.jacks); + virtio_read_config_member(priv->vdev, struct virtio_snd_config, streams, + &priv->config.streams); + virtio_read_config_member(priv->vdev, struct virtio_snd_config, chmaps, + &priv->config.chmaps); vrtinfo("jacks:%"PRIu32" streams:%"PRIu32" chmap:%"PRIu32"\n", priv->config.jacks, priv->config.streams, priv->config.chmaps);