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

Cristian Marussi cristian.marussi at arm.com
Thu Jul 1 03:34:06 PDT 2021


Hi,

On Thu, Jul 01, 2021 at 10:43:07AM +0200, Peter Hilber wrote:
> 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):
> 

Ah, thanks for pointing that out, I'll do because indeed in my hackish
emulation test-setup I forgot to emulate that bit and everything fall
flat.

> > /**
> >  * 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)

Thanks,
Cristian




More information about the linux-arm-kernel mailing list