Hi Bagas--

On 12/15/25 4:13 PM, Bagas Sanjaya wrote:
> Hi,
> 
> ./scripts/kernel-doc reports warning on include/linux/virtio.h:
> 
> Info: include/linux/virtio.h:16 Scanning doc for struct virtqueue
> Info: include/linux/virtio.h:139 Scanning doc for struct virtio_device
> Warning: include/linux/virtio.h:183 struct member 
> 'VIRTIO_DECLARE_FEATURES(features' not described in 'virtio_device'
> Info: include/linux/virtio.h:217 Scanning doc for struct virtio_driver
> Warning: include/linux/virtio.h:183 struct member 
> 'VIRTIO_DECLARE_FEATURES(features' not described in 'virtio_device'
> 1 errors
> 
> struct virtio_device is defined as:
> 
> struct virtio_device {
>       int index;
>       bool failed;
>       bool config_core_enabled;
>       bool config_driver_disabled;
>       bool config_change_pending;
>       spinlock_t config_lock;
>       spinlock_t vqs_list_lock;
>       struct device dev;
>       struct virtio_device_id id;
>       const struct virtio_config_ops *config;
>       const struct vringh_config_ops *vringh_config;
>       const struct virtio_map_ops *map;
>       struct list_head vqs;
>       VIRTIO_DECLARE_FEATURES(features);
>       void *priv;
>       union virtio_map vmap;
> #ifdef CONFIG_VIRTIO_DEBUG
>       struct dentry *debugfs_dir;
>       u64 debugfs_filter_features[VIRTIO_FEATURES_U64S];
> #endif
> };
> 
> where VIRTIO_DECLARE_FEATURES() is an anonymous macro.
> 
> What can I do to fix the warning?

Yeah, I had seen this one also. My only though is to special-case it and then
declare
    union {
        u64 features;
        u64 features_array[];
    };
in kdoc_parser.py. Something similar to what syscall_munge() does there.
I hope that would work but I don't know for sure.

At least one downside to that is that we might end up needing to add special 
case
after special case ....


I guess we are waiting for the summit/LPC group to read and find time to
respond.

-- 
~Randy


Reply via email to