scripts: kernel-doc: parse DEFINE_DMA_UNMAP_[ADDR|LEN]
authorPavan Kumar Linga <pavan.kumar.linga@intel.com>
Tue, 15 Aug 2023 21:04:16 +0000 (14:04 -0700)
committerJonathan Corbet <corbet@lwn.net>
Fri, 18 Aug 2023 17:14:08 +0000 (11:14 -0600)
At present, if the macros DEFINE_DMA_UNMAP_ADDR() and
DEFINE_DMA_UNMAP_LEN() are used in the structures as shown
below, instead of parsing the parameter in the parentheses,
kernel-doc parses 'DEFINE_DMA_UNMAP_ADDR(' and
'DEFINE_DMA_UNMAP_LEN(' which results in the following
warnings:

drivers/net/ethernet/intel/idpf/idpf_txrx.h:201: warning: Function
parameter or member 'DEFINE_DMA_UNMAP_ADDR(dma' not described in
'idpf_tx_buf'
drivers/net/ethernet/intel/idpf/idpf_txrx.h:201: warning: Function
parameter or member 'DEFINE_DMA_UNMAP_LEN(len' not described in
'idpf_tx_buf'

struct idpf_tx_buf {
DEFINE_DMA_UNMAP_ADDR(dma);
DEFINE_DMA_UNMAP_LEN(len);
};

Fix the warnings by parsing DEFINE_DMA_UNMAP_ADDR() and
DEFINE_DMA_UNMAP_LEN().

Cc: Jonathan Corbet <corbet@lwn.net>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20230815210417.98749-2-pavan.kumar.linga@intel.com
scripts/kernel-doc

index d0116c6939dc2d1eb22a184db40f359f298c0589..cfb1cb2235082f53cf45df3ba3f97b2818cdd3a2 100755 (executable)
@@ -1168,6 +1168,10 @@ sub dump_struct($$) {
        $members =~ s/DECLARE_KFIFO_PTR\s*\($args,\s*$args\)/$2 \*$1/gos;
        # replace DECLARE_FLEX_ARRAY
        $members =~ s/(?:__)?DECLARE_FLEX_ARRAY\s*\($args,\s*$args\)/$1 $2\[\]/gos;
+       #replace DEFINE_DMA_UNMAP_ADDR
+       $members =~ s/DEFINE_DMA_UNMAP_ADDR\s*\($args\)/dma_addr_t $1/gos;
+       #replace DEFINE_DMA_UNMAP_LEN
+       $members =~ s/DEFINE_DMA_UNMAP_LEN\s*\($args\)/__u32 $1/gos;
        my $declaration = $members;
 
        # Split nested struct/union elements as newer ones