On Fri, Jun 18, 2021 at 10:26:59AM +0200, Paolo Bonzini wrote:
On 18/06/21 09:02, Greg KH wrote:
- struct kvm_stats_desc {
__u32 flags;
__s16 exponent;
__u16 size;
__u32 offset;
__u32 unused;
char name[];
- };
As I mention in another patch, this should be sucked in directly from the .h file in kerneldoc format, so that everything stays in sync. I bet almost this whole file can be put into the .h file, look at how drm and v4l2 does this in a way that you only have to write the above one time, not try to keep it in sync in two different places.
V4L's userspace-api/media/v4l is absurdly good and I'd say it's by far the best documentation of any Linux subsystem, but it's all handwritten just like in KVM. In fact, grepping for kernel-doc directives in Documentation/ gives no hits for the V4L uAPI documentation.
DRM has great kernel documentation, but quality-wise the KVM userland documentation is on a completely different level compared to DRM; just compare https://www.kernel.org/doc/html/latest/virt/kvm/api.html to https://www.kernel.org/doc/html/latest/gpu/drm-uapi.html. The latter is not about how to use the DRM interfaces from userspace, it's about how to implement the userspace interfaces. It is full of kernel struct definitions that should have no place in a uAPI manual, and does not include documentation for almost anything in include/uapi/drm/drm.h
Ok, it's your maintenance burden, not mine, I was just suggesting a way to make it easier :)
I'll not complain about this anymore...
thanks,
greg k-h