Message ID | a0a0392564bd4405b919241de9fb0fc7ec9be8cd.1512049320.git.mchehab@s-opensource.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/30/2017 05:42 AM, Mauro Carvalho Chehab wrote: > On media, we now have an struct declared with: > [snip] > > So, teach kernel-doc how to parse a DECLARE_KFIFO_PTR(); > > While here, relax at the past DECLARE_foo() macros, > accepting a random number of spaces after comma. > > Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Hi, Would you mind adding the parsing of DECLARE_KFIFO() also? ../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' struct lineevent_state { struct gpio_device *gdev; const char *label; struct gpio_desc *desc; u32 eflags; int irq; wait_queue_head_t wait; DECLARE_KFIFO(events, struct gpioevent_data, 16); struct mutex read_lock; }; > --- > scripts/kernel-doc | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/scripts/kernel-doc b/scripts/kernel-doc > index bd29a92b4b48..5c12208f8c89 100755 > --- a/scripts/kernel-doc > +++ b/scripts/kernel-doc > @@ -2208,10 +2208,11 @@ 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_PTR(fifo, type) > + $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); > >
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index bd29a92b4b48..5c12208f8c89 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -2208,10 +2208,11 @@ 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_PTR(fifo, type) + $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);
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; }; Currently, it produces 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' So, teach kernel-doc how to parse a DECLARE_KFIFO_PTR(); While here, relax at the past DECLARE_foo() macros, accepting a random number of spaces after comma. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> --- scripts/kernel-doc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)