2023-05-25 14:51:14

by Simon Horman

[permalink] [raw]
Subject: [PATCH v3] 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 v3:
- As suggested by Stefano Garzarella
+ Drop inline comment for @vqs_list_lock which is now covered by Kdoc
+ Add "Returns 0 or -errno." to @validate Kdoc
- Link to v2: https://lore.kernel.org/r/[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 | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/linux/virtio.h b/include/linux/virtio.h
index b93238db94e3..de6041deee37 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.
@@ -117,7 +118,7 @@ struct virtio_device {
bool config_enabled;
bool config_change_pending;
spinlock_t config_lock;
- spinlock_t vqs_list_lock; /* Protects VQs list access */
+ spinlock_t vqs_list_lock;
struct device dev;
struct virtio_device_id id;
const struct virtio_config_ops *config;
@@ -160,6 +161,8 @@ 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.
+ * Returns 0 or -errno.
* @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-25 15:36:10

by Stefano Garzarella

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

On Thu, May 25, 2023 at 04:35:42PM +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 v3:
>- As suggested by Stefano Garzarella
> + Drop inline comment for @vqs_list_lock which is now covered by Kdoc
> + Add "Returns 0 or -errno." to @validate Kdoc
>- Link to v2: https://lore.kernel.org/r/[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 | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
>diff --git a/include/linux/virtio.h b/include/linux/virtio.h
>index b93238db94e3..de6041deee37 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.
>@@ -117,7 +118,7 @@ struct virtio_device {
> bool config_enabled;
> bool config_change_pending;
> spinlock_t config_lock;
>- spinlock_t vqs_list_lock; /* Protects VQs list access */
>+ spinlock_t vqs_list_lock;
> struct device dev;
> struct virtio_device_id id;
> const struct virtio_config_ops *config;
>@@ -160,6 +161,8 @@ 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.
>+ * Returns 0 or -errno.
> * @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.
>

LGTM!

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

Thanks,
Stefano