mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 17:22:07 +00:00
doc-guide: kernel-doc: tell about object-like macros
Since 2014 kernel-doc has supported describing object-like macros
but it is not documented anywhere. I should have required some
documentation for it when I merged the patch. :(
There are currently only 3 uses of this (all in DRM headers, in
include/drm/*.h).
Add object-like macro kernel-doc documentation now so that more may
know about it and use it.
Fixes: cbb4d3e651
("scripts/kernel-doc: handle object-like macros")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240107012400.32587-1-rdunlap@infradead.org
This commit is contained in:
parent
d2a70e28ef
commit
91a3d6be99
@ -341,6 +341,51 @@ Typedefs with function prototypes can also be documented::
|
||||
*/
|
||||
typedef void (*type_name)(struct v4l2_ctrl *arg1, void *arg2);
|
||||
|
||||
Object-like macro documentation
|
||||
-------------------------------
|
||||
|
||||
Object-like macros are distinct from function-like macros. They are
|
||||
differentiated by whether the macro name is immediately followed by a
|
||||
left parenthesis ('(') for function-like macros or not followed by one
|
||||
for object-like macros.
|
||||
|
||||
Function-like macros are handled like functions by ``scripts/kernel-doc``.
|
||||
They may have a parameter list. Object-like macros have do not have a
|
||||
parameter list.
|
||||
|
||||
The general format of an object-like macro kernel-doc comment is::
|
||||
|
||||
/**
|
||||
* define object_name - Brief description.
|
||||
*
|
||||
* Description of the object.
|
||||
*/
|
||||
|
||||
Example::
|
||||
|
||||
/**
|
||||
* define MAX_ERRNO - maximum errno value that is supported
|
||||
*
|
||||
* Kernel pointers have redundant information, so we can use a
|
||||
* scheme where we can return either an error code or a normal
|
||||
* pointer with the same return value.
|
||||
*/
|
||||
#define MAX_ERRNO 4095
|
||||
|
||||
Example::
|
||||
|
||||
/**
|
||||
* define DRM_GEM_VRAM_PLANE_HELPER_FUNCS - \
|
||||
* Initializes struct drm_plane_helper_funcs for VRAM handling
|
||||
*
|
||||
* This macro initializes struct drm_plane_helper_funcs to use the
|
||||
* respective helper functions.
|
||||
*/
|
||||
#define DRM_GEM_VRAM_PLANE_HELPER_FUNCS \
|
||||
.prepare_fb = drm_gem_vram_plane_helper_prepare_fb, \
|
||||
.cleanup_fb = drm_gem_vram_plane_helper_cleanup_fb
|
||||
|
||||
|
||||
Highlights and cross-references
|
||||
-------------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user