console: Use BIT() macros for @flags values

Rather than manually calculating powers of 2, use the BIT() macros.
Also take this opportunatity to cleanup and restructure the value
comments into proper kerneldoc comments.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20230109100800.1085541-3-john.ogness@linutronix.de
This commit is contained in:
Thomas Gleixner 2023-01-09 11:13:54 +01:06 committed by Petr Mladek
parent 2364b40682
commit 717a5651b1

View File

@ -15,6 +15,7 @@
#define _LINUX_CONSOLE_H_ 1 #define _LINUX_CONSOLE_H_ 1
#include <linux/atomic.h> #include <linux/atomic.h>
#include <linux/bits.h>
#include <linux/rculist.h> #include <linux/rculist.h>
#include <linux/types.h> #include <linux/types.h>
@ -125,18 +126,43 @@ static inline int con_debug_leave(void)
/* /*
* The interface for a console, or any other device that wants to capture * The interface for a console, or any other device that wants to capture
* console messages (printer driver?) * console messages (printer driver?)
*
* If a console driver is marked CON_BOOT then it will be auto-unregistered
* when the first real console is registered. This is for early-printk drivers.
*/ */
#define CON_PRINTBUFFER (1) /**
#define CON_CONSDEV (2) /* Preferred console, /dev/console */ * cons_flags - General console flags
#define CON_ENABLED (4) * @CON_PRINTBUFFER: Used by newly registered consoles to avoid duplicate
#define CON_BOOT (8) * output of messages that were already shown by boot
#define CON_ANYTIME (16) /* Safe to call when cpu is offline */ * consoles or read by userspace via syslog() syscall.
#define CON_BRL (32) /* Used for a braille device */ * @CON_CONSDEV: Indicates that the console driver is backing
#define CON_EXTENDED (64) /* Use the extended output format a la /dev/kmsg */ * /dev/console.
* @CON_ENABLED: Indicates if a console is allowed to print records. If
* false, the console also will not advance to later
* records.
* @CON_BOOT: Marks the console driver as early console driver which
* is used during boot before the real driver becomes
* available. It will be automatically unregistered
* when the real console driver is registered unless
* "keep_bootcon" parameter is used.
* @CON_ANYTIME: A misnomed historical flag which tells the core code
* that the legacy @console::write callback can be invoked
* on a CPU which is marked OFFLINE. That is misleading as
* it suggests that there is no contextual limit for
* invoking the callback. The original motivation was
* readiness of the per-CPU areas.
* @CON_BRL: Indicates a braille device which is exempt from
* receiving the printk spam for obvious reasons.
* @CON_EXTENDED: The console supports the extended output format of
* /dev/kmesg which requires a larger output buffer.
*/
enum cons_flags {
CON_PRINTBUFFER = BIT(0),
CON_CONSDEV = BIT(1),
CON_ENABLED = BIT(2),
CON_BOOT = BIT(3),
CON_ANYTIME = BIT(4),
CON_BRL = BIT(5),
CON_EXTENDED = BIT(6),
};
struct console { struct console {
char name[16]; char name[16];