2023-05-11 14:54:20

by Simon Horman

[permalink] [raw]
Subject: [PATCH v2] virtio: Add missing documentation for structure fields

Add missing documentation for the vqs_list_lock field of struct virtio_device,
and the validate field of struct virtio_driver.

./scripts/kernel-doc says:

.../virtio.h:131: warning: Function parameter or member 'vqs_list_lock' not described in 'virtio_device'
.../virtio.h:192: warning: Function parameter or member 'validate' not described in 'virtio_driver'
2 warnings as Errors

No functional changes intended.

Signed-off-by: Simon Horman <[email protected]>
---
Changes in v2:
- As suggested by Michael S. Tsirkin
+ @validate is not called on probe
+ @validate does validates config space
+ embarrassingly, validate was misspelt
- Link to v1: https://lore.kernel.org/r/[email protected]
---
include/linux/virtio.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/include/linux/virtio.h b/include/linux/virtio.h
index b93238db94e3..3abe8e9c8090 100644
--- a/include/linux/virtio.h
+++ b/include/linux/virtio.h
@@ -103,6 +103,7 @@ int virtqueue_resize(struct virtqueue *vq, u32 num,
* @config_enabled: configuration change reporting enabled
* @config_change_pending: configuration change reported while disabled
* @config_lock: protects configuration change reporting
+ * @vqs_list_lock: protects @vqs.
* @dev: underlying device.
* @id: the device type identification (used to match it with a driver).
* @config: the configuration ops for this device.
@@ -160,6 +161,7 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev);
* @feature_table_size: number of entries in the feature table array.
* @feature_table_legacy: same as feature_table but when working in legacy mode.
* @feature_table_size_legacy: number of entries in feature table legacy array.
+ * @validate: the function to call to validate features and config space
* @probe: the function to call when a device is found. Returns 0 or -errno.
* @scan: optional function to call after successful probe; intended
* for virtio-scsi to invoke a scan.



2023-05-16 09:10:53

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [PATCH v2] virtio: Add missing documentation for structure fields

On Thu, May 11, 2023 at 04:46:22PM +0200, Simon Horman wrote:
>Add missing documentation for the vqs_list_lock field of struct virtio_device,
>and the validate field of struct virtio_driver.
>
>./scripts/kernel-doc says:
>
> .../virtio.h:131: warning: Function parameter or member 'vqs_list_lock' not described in 'virtio_device'
> .../virtio.h:192: warning: Function parameter or member 'validate' not described in 'virtio_driver'
> 2 warnings as Errors
>
>No functional changes intended.
>
>Signed-off-by: Simon Horman <[email protected]>
>---
>Changes in v2:
>- As suggested by Michael S. Tsirkin
> + @validate is not called on probe
> + @validate does validates config space
> + embarrassingly, validate was misspelt
>- Link to v1: https://lore.kernel.org/r/[email protected]
>---
> include/linux/virtio.h | 2 ++
> 1 file changed, 2 insertions(+)

I left some minor comments, anyway this version LGTM:

Reviewed-by: Stefano Garzarella <[email protected]>

>
>diff --git a/include/linux/virtio.h b/include/linux/virtio.h
>index b93238db94e3..3abe8e9c8090 100644
>--- a/include/linux/virtio.h
>+++ b/include/linux/virtio.h
>@@ -103,6 +103,7 @@ int virtqueue_resize(struct virtqueue *vq, u32 num,
> * @config_enabled: configuration change reporting enabled
> * @config_change_pending: configuration change reported while disabled
> * @config_lock: protects configuration change reporting
>+ * @vqs_list_lock: protects @vqs.

Maybe we can now remove `/* Protects VQs list access */`

> * @dev: underlying device.
> * @id: the device type identification (used to match it with a driver).
> * @config: the configuration ops for this device.
>@@ -160,6 +161,7 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev);
> * @feature_table_size: number of entries in the feature table array.
> * @feature_table_legacy: same as feature_table but when working in legacy mode.
> * @feature_table_size_legacy: number of entries in feature table legacy array.
>+ * @validate: the function to call to validate features and config space

Maybe we can add ". Returns 0 or -errno."

Thanks,
Stefano

> * @probe: the function to call when a device is found. Returns 0 or -errno.
> * @scan: optional function to call after successful probe; intended
> * for virtio-scsi to invoke a scan.
>


2023-05-19 17:05:22

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH v2] virtio: Add missing documentation for structure fields

On Tue, May 16, 2023 at 10:54:49AM +0200, Stefano Garzarella wrote:
> On Thu, May 11, 2023 at 04:46:22PM +0200, Simon Horman wrote:
> > Add missing documentation for the vqs_list_lock field of struct virtio_device,
> > and the validate field of struct virtio_driver.
> >
> > ./scripts/kernel-doc says:
> >
> > .../virtio.h:131: warning: Function parameter or member 'vqs_list_lock' not described in 'virtio_device'
> > .../virtio.h:192: warning: Function parameter or member 'validate' not described in 'virtio_driver'
> > 2 warnings as Errors
> >
> > No functional changes intended.
> >
> > Signed-off-by: Simon Horman <[email protected]>
> > ---
> > Changes in v2:
> > - As suggested by Michael S. Tsirkin
> > + @validate is not called on probe
> > + @validate does validates config space
> > + embarrassingly, validate was misspelt
> > - Link to v1: https://lore.kernel.org/r/[email protected]
> > ---
> > include/linux/virtio.h | 2 ++
> > 1 file changed, 2 insertions(+)
>
> I left some minor comments, anyway this version LGTM:
>
> Reviewed-by: Stefano Garzarella <[email protected]>

Thanks, and sorry for the delay.

> > diff --git a/include/linux/virtio.h b/include/linux/virtio.h
> > index b93238db94e3..3abe8e9c8090 100644
> > --- a/include/linux/virtio.h
> > +++ b/include/linux/virtio.h
> > @@ -103,6 +103,7 @@ int virtqueue_resize(struct virtqueue *vq, u32 num,
> > * @config_enabled: configuration change reporting enabled
> > * @config_change_pending: configuration change reported while disabled
> > * @config_lock: protects configuration change reporting
> > + * @vqs_list_lock: protects @vqs.
>
> Maybe we can now remove `/* Protects VQs list access */`

Yes, I think so.

> > * @dev: underlying device.
> > * @id: the device type identification (used to match it with a driver).
> > * @config: the configuration ops for this device.
> > @@ -160,6 +161,7 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev);
> > * @feature_table_size: number of entries in the feature table array.
> > * @feature_table_legacy: same as feature_table but when working in legacy mode.
> > * @feature_table_size_legacy: number of entries in feature table legacy array.
> > + * @validate: the function to call to validate features and config space
>
> Maybe we can add ". Returns 0 or -errno."

Sure, I'll plan to include this in v3.

* @validate: the function to call to validate features and config space.
* Returns 0 or -errno.

...