• Vegard Nossum's avatar
    drm/nouveau: uapi: fix kerneldoc warnings · 251ba458
    Vegard Nossum authored
    As of commit b77fdd6a ("scripts/kernel-doc: restore warning for
    Excess struct/union"), we see the following warnings when running 'make
    htmldocs':
    
      ./include/uapi/drm/nouveau_drm.h:292: warning: Excess struct member 'DRM_NOUVEAU_VM_BIND_OP_MAP' description in 'drm_nouveau_vm_bind_op'
      ./include/uapi/drm/nouveau_drm.h:292: warning: Excess struct member 'DRM_NOUVEAU_VM_BIND_OP_UNMAP' description in 'drm_nouveau_vm_bind_op'
      ./include/uapi/drm/nouveau_drm.h:292: warning: Excess struct member 'DRM_NOUVEAU_VM_BIND_SPARSE' description in 'drm_nouveau_vm_bind_op'
      ./include/uapi/drm/nouveau_drm.h:336: warning: Excess struct member 'DRM_NOUVEAU_VM_BIND_RUN_ASYNC' description in 'drm_nouveau_vm_bind'
    
    The problem is that these values are #define constants, but had kerneldoc
    comments attached to them as if they were actual struct members.
    
    There are a number of ways we could fix this, but I chose to draw
    inspiration from include/uapi/drm/i915_drm.h, which pulls them into the
    corresponding kerneldoc comment for the struct member that they are
    intended to be used with.
    
    To keep the diff readable, there are a number of things I _didn't_ do in
    this patch, but which we should also consider:
    
    - This is pretty good documentation, but it ends up in gpu/driver-uapi,
      which is part of subsystem-apis/ when it really ought to display under
      userspace-api/ (the "Linux kernel user-space API guide" book of the
      documentation).
    
    - More generally, we might want a warning if include/uapi/ files are
      kerneldoc'd outside userspace-api/.
    
    - I'd consider it cleaner if the #defines appeared between the kerneldoc
      for the member and the member itself (which is something other DRM-
      related UAPI docs do).
    
    - The %IDENTIFIER kerneldoc syntax is intended for "constants", and is
      more appropriate in this context than ``IDENTIFIER`` or &IDENTIFIER.
      The DRM docs aren't very consistent on this.
    
    Cc: Randy Dunlap <rdunlap@infradead.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Signed-off-by: default avatarVegard Nossum <vegard.nossum@oracle.com>
    Reviewed-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Tested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarDanilo Krummrich <dakr@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20231225065145.3060754-1-vegard.nossum@oracle.com
    251ba458
nouveau_drm.h 13.8 KB