Re: [PATCH v4 14/16] firmware: arm_scmi: Add virtio transport

Peter Hilber
2021-07-01T09:01:19Z

On 11.06.21 18:59, Cristian Marussi wrote:

<snip>

> +static struct virtio_driver virtio_scmi_driver = {
> + .driver.name = "scmi-virtio",
> + .driver.owner = THIS_MODULE,
> + .feature_table = features,
> + .feature_table_size = ARRAY_SIZE(features),
> + .id_table = id_table,
> + .probe = scmi_vio_probe,
> + .remove = scmi_vio_remove,
> +};
> +

It might be good to also check for the VIRTIO_F_VERSION_1 feature bit in
the optional .validate op (not yet implemented above), as some other
devices do (quoting virtio-snd in the following):

> /**
> * virtsnd_validate() - Validate if the device can be started.
> * @vdev: VirtIO parent device.
> *
> * Context: Any context.
> * Return: 0 on success, -EINVAL on failure.
> */
> static int virtsnd_validate(struct virtio_device *vdev)
> {

<snip>

>
> if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
> dev_err(&vdev->dev,
> "device does not comply with spec version 1.x\n");
> return -EINVAL;
> }
>

<snip>

>
> static struct virtio_driver virtsnd_driver = {
> .driver.name = KBUILD_MODNAME,
> .driver.owner = THIS_MODULE,
> .id_table = id_table,
> .validate = virtsnd_validate,

(end of virtio-snd quote)