2009-01-05 23:36:23

by Timur Tabi

[permalink] [raw]
Subject: Can kernel-doc process simple macros?

How can I get kernel-doc to document a line like this:

#define MY_CONSTANT 10

The documentation doesn't say anything about macros, but Google
searches imply that there is some support for macros in kernel-doc.

--
Timur Tabi
Linux kernel developer at Freescale


2009-01-05 23:51:33

by Randy Dunlap

[permalink] [raw]
Subject: Re: Can kernel-doc process simple macros?

Timur Tabi wrote:
> How can I get kernel-doc to document a line like this:
>
> #define MY_CONSTANT 10
>
> The documentation doesn't say anything about macros, but Google
> searches imply that there is some support for macros in kernel-doc.

kernel-doc supports macros that look like functions. E.g., from
include/linux/kernel.h:

/**
* container_of - cast a member of a structure out to the containing structure
* @ptr: the pointer to the member.
* @type: the type of the container struct this is embedded in.
* @member: the name of the member within the struct.
*
*/
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})


However, it does not supports simple macros that are just value names
like your example. But it does support enums, so you could possibly
change the #defined values to enums and have kernel-doc for them.
Or we could see what it would take to support simple macro values
in kernel-doc...

~Randy