diff options
author | Jonathan Corbet <corbet@lwn.net> | 2021-07-26 00:16:00 +0300 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2021-07-26 13:36:44 +0300 |
commit | 7d9e2661f268585ca24ab4edbc1e2925b08374b2 (patch) | |
tree | c87b3541239440492816c17a098484d0891a7c74 /include/linux/printk.h | |
parent | 0f0aa84850a4105401723c6c0eeb61c2e67c869a (diff) | |
download | linux-7d9e2661f268585ca24ab4edbc1e2925b08374b2.tar.xz |
printk: Move the printk() kerneldoc comment to its new home
Commit 337015573718 ("printk: Userspace format indexing support") turned
printk() into a macro, but left the kerneldoc comment for it with the (now)
_printk() function, resulting in this docs-build warning:
kernel/printk/printk.c:1: warning: 'printk' not found
Move the kerneldoc comment back next to the (now) macro it's meant to
describe and have the docs build find it there.
Fixes: 337015573718b161 ("printk: Userspace format indexing support")
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/87o8aqt7qn.fsf@meer.lwn.net
Diffstat (limited to 'include/linux/printk.h')
-rw-r--r-- | include/linux/printk.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/printk.h b/include/linux/printk.h index 2651b82ed352..c1e176403967 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -431,6 +431,30 @@ struct pi_entry { }) +/** + * printk - print a kernel message + * @fmt: format string + * + * This is printk(). It can be called from any context. We want it to work. + * + * If printk indexing is enabled, _printk() is called from printk_index_wrap. + * Otherwise, printk is simply #defined to _printk. + * + * We try to grab the console_lock. If we succeed, it's easy - we log the + * output and call the console drivers. If we fail to get the semaphore, we + * place the output into the log buffer and return. The current holder of + * the console_sem will notice the new output in console_unlock(); and will + * send it to the consoles before releasing the lock. + * + * One effect of this deferred printing is that code which calls printk() and + * then changes console_loglevel may break. This is because console_loglevel + * is inspected when the actual printing occurs. + * + * See also: + * printf(3) + * + * See the vsnprintf() documentation for format string extensions over C99. + */ #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) #define printk_deferred(fmt, ...) \ printk_index_wrap(_printk_deferred, fmt, ##__VA_ARGS__) |