Commit bbf00be9 authored by Sakari Ailus's avatar Sakari Ailus Committed by Jonathan Corbet
Browse files

kernel-doc: Support arrays of pointers struct fields



In a rather unusual arrangement in include/media/v4l2-vp9.h struct
v4l2_vp9_frame_symbol_counts has fields that are arrays of pointers, not a
pointer to an array, which is what's usually done.

Add support for such arrays of pointers to kernel-doc.

Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Tested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Tested-by: default avatarRicardo Ribalda <ribalda@chromium.org>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240131084934.191226-1-sakari.ailus@linux.intel.com
parent 5c7944ca
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1509,6 +1509,15 @@ sub create_parameterlist($$$$) {
	    $type =~ s/([^\(]+\(\*?)\s*$param/$1/;
	    save_struct_actual($param);
	    push_parameter($param, $type, $arg, $file, $declaration_name);
	} elsif ($arg =~ m/\(.+\)\s*\[/) {
	    # array-of-pointers
	    $arg =~ tr/#/,/;
	    $arg =~ m/[^\(]+\(\s*\*\s*([\w\[\]\.]*?)\s*(\s*\[\s*[\w]+\s*\]\s*)*\)/;
	    $param = $1;
	    $type = $arg;
	    $type =~ s/([^\(]+\(\*?)\s*$param/$1/;
	    save_struct_actual($param);
	    push_parameter($param, $type, $arg, $file, $declaration_name);
	} elsif ($arg) {
	    $arg =~ s/\s*:\s*/:/g;
	    $arg =~ s/\s*\[/\[/g;