why is "const u32 (*tab)[256]" not kerneldoc-able?

Robert P. J. Day rpjday at crashcourse.ca
Tue Feb 3 07:19:22 EST 2015

  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.




Robert P. J. Day                                 Ottawa, Ontario, CANADA

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday

More information about the Kernelnewbies mailing list