why is "const u32 (*tab)[256]" not kerneldoc-able?
Malte Vesper
malte.vesper at postgrad.manchester.ac.uk
Tue Feb 3 08:15:17 EST 2015
I believe Kerneldoc starts with just "/*" and not "/**".
That looks more like doxygen/ JavaDoc.
Have you tried the standard debugging technique of replacing it with a
known good comment, and then editing it back to the original until you
generate the error, to identify what causes the choking?
On 03/02/15 12:19, Robert P. J. Day wrote:
> when generating the kerneldoc manual kernel-api.html with "make
> htmldocs", the two routines in lib/crc32.c that refer to a parameter
> of type "const u32 (*tab)[256]" generate kerneldoc errors:
>
> Warning(.//lib/crc32.c:148): No description found for parameter 'tab)[256]'
> Warning(.//lib/crc32.c:148): Excess function parameter 'tab' description in 'crc32_le_generic'
> Warning(.//lib/crc32.c:293): No description found for parameter 'tab)[256]'
> Warning(.//lib/crc32.c:293): Excess function parameter 'tab' description in 'crc32_be_generic'
> Warning(.//lib/crc32.c): no structured comments found
>
> kerneldoc content and declaration for one of them:
>
> /**
> * crc32_le_generic() - Calculate bitwise little-endian Ethernet AUTODIN II
> * CRC32/CRC32C
> * @crc: seed value for computation. ~0 for Ethernet, sometimes 0 for other
> * uses, or the previous crc32/crc32c value if computing incrementally.
> * @p: pointer to buffer over which CRC32/CRC32C is run
> * @len: length of buffer @p
> * @tab: little-endian Ethernet table
> * @polynomial: CRC32/CRC32c LE polynomial
> */
> static inline u32 __pure crc32_le_generic(u32 crc, unsigned char const *p,
> size_t len, const u32 (*tab)[256],
> u32 polynomial)
> {
>
> ... snip ...
>
> so what is it about that declaration that causes kerneldoc to choke?
> and because those two routines are the only kerneldoc content in that
> source file, the kernel-api page generated for that file is just a
> dummy page, reporting an error.
>
> thoughts?
>
> rday
>
More information about the Kernelnewbies
mailing list