[PATCH -next] drm/nouveau: uapi: fix kerneldoc warnings

Vegard Nossum vegard.nossum at oracle.com
Mon Dec 25 08:30:26 UTC 2023


On 25/12/2023 08:40, Randy Dunlap wrote:
> I do see one thing that I don't like in the generated html output.
> It's not a problem with this patch.
> The #defines for DRM_NOUVEAU_VM_BIND_OP_MAP etc. have a ';' at the
> end of each line:
> 
> struct drm_nouveau_vm_bind_op {
>      __u32 op;
> #define DRM_NOUVEAU_VM_BIND_OP_MAP 0x0;
> #define DRM_NOUVEAU_VM_BIND_OP_UNMAP 0x1;
>      __u32 flags;
> #define DRM_NOUVEAU_VM_BIND_SPARSE (1 << 8);
>      __u32 handle;
>      __u32 pad;
>      __u64 addr;
>      __u64 bo_offset;
>      __u64 range;
> };

Do we actually ever want preprocessor directives to appear inside
definitions in the output? If not, I think this should work:

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 3cdc7dba37e3..61425fc9645e 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1259,6 +1259,8 @@ sub dump_struct($$) {
                 $clause =~ s/\s+$//;
                 $clause =~ s/\s+/ /;
                 next if (!$clause);
+               # skip preprocessor directives
+               next if $clause =~ m/^#/;
                 $level-- if ($clause =~ m/(\})/ && $level > 1);
                 if (!($clause =~ m/^\s*#/)) {
                         $declaration .= "\t" x $level;


Vegard


More information about the Nouveau mailing list