On 12/08/2017 06:05 AM, Mauro Carvalho Chehab wrote:
> On media, we now have an struct declared with:
>
> struct lirc_fh {
> struct list_head list;
> struct rc_dev *rc;
> int carrier_low;
> bool send_timeout_reports;
> DECLARE_KFIFO_PTR(rawir, unsigned int);
> DECLARE_KFIFO_PTR(scancodes, struct lirc_scancode);
> wait_queue_head_t wait_poll;
> u8 send_mode;
> u8 rec_mode;
> };
>
> gpiolib.c has a similar declaration with DECLARE_KFIFO().
>
> Currently, those produce the following error:
>
> ./include/media/rc-core.h:96: warning: No description found for
> parameter 'int'
> ./include/media/rc-core.h:96: warning: No description found for
> parameter 'lirc_scancode'
> ./include/media/rc-core.h:96: warning: Excess struct member 'rawir'
> description in 'lirc_fh'
> ./include/media/rc-core.h:96: warning: Excess struct member 'scancodes'
> description in 'lirc_fh'
> ../drivers/gpio/gpiolib.c:601: warning: No description found for
> parameter '16'
> ../drivers/gpio/gpiolib.c:601: warning: Excess struct member 'events'
> description in 'lineevent_state'
>
> So, teach kernel-doc how to parse DECLARE_KFIFO() and DECLARE_KFIFO_PTR().
>
> While here, relax at the past DECLARE_foo() macros, accepting a random
> number of spaces after comma.
>
> The addition of DECLARE_KFIFO() was
> Suggested-by: Randy Dunlap <[email protected]>
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Tested-by: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Thanks.
> ---
> scripts/kernel-doc | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kernel-doc b/scripts/kernel-doc
> index bd29a92b4b48..cfdabdd08631 100755
> --- a/scripts/kernel-doc
> +++ b/scripts/kernel-doc
> @@ -2208,9 +2208,13 @@ sub dump_struct($$) {
> $members =~ s/__aligned\s*\([^;]*\)//gos;
> $members =~ s/\s*CRYPTO_MINALIGN_ATTR//gos;
> # replace DECLARE_BITMAP
> - $members =~ s/DECLARE_BITMAP\s*\(([^,)]+), ([^,)]+)\)/unsigned long
> $1\[BITS_TO_LONGS($2)\]/gos;
> + $members =~ s/DECLARE_BITMAP\s*\(([^,)]+),\s*([^,)]+)\)/unsigned long
> $1\[BITS_TO_LONGS($2)\]/gos;
> # replace DECLARE_HASHTABLE
> - $members =~ s/DECLARE_HASHTABLE\s*\(([^,)]+), ([^,)]+)\)/unsigned long
> $1\[1 << (($2) - 1)\]/gos;
> + $members =~ s/DECLARE_HASHTABLE\s*\(([^,)]+),\s*([^,)]+)\)/unsigned
> long $1\[1 << (($2) - 1)\]/gos;
> + # replace DECLARE_KFIFO
> + $members =~ s/DECLARE_KFIFO\s*\(([^,)]+),\s*([^,)]+),\s*([^,)]+)\)/$2
> \*$1/gos;
> + # replace DECLARE_KFIFO_PTR
> + $members =~ s/DECLARE_KFIFO_PTR\s*\(([^,)]+),\s*([^,)]+)\)/$2 \*$1/gos;
>
> create_parameterlist($members, ';', $file);
> check_sections($file, $declaration_name, $decl_type, $sectcheck,
> $struct_actual, $nested);
>
--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html