lkml.org 
[lkml]   [2023]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH printk v4 2/8] console: Use BIT() macros for @flags values
    Date
    From: Thomas Gleixner <tglx@linutronix.de>

    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>
    ---
    include/linux/console.h | 46 ++++++++++++++++++++++++++++++++---------
    1 file changed, 36 insertions(+), 10 deletions(-)

    diff --git a/include/linux/console.h b/include/linux/console.h
    index 9cea254b34b8..ed804dd7c2e8 100644
    --- a/include/linux/console.h
    +++ b/include/linux/console.h
    @@ -15,6 +15,7 @@
    #define _LINUX_CONSOLE_H_ 1

    #include <linux/atomic.h>
    +#include <linux/bits.h>
    #include <linux/rculist.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
    * 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 */
    -#define CON_ENABLED (4)
    -#define CON_BOOT (8)
    -#define CON_ANYTIME (16) /* Safe to call when cpu is offline */
    -#define CON_BRL (32) /* Used for a braille device */
    -#define CON_EXTENDED (64) /* Use the extended output format a la /dev/kmsg */
    +/**
    + * cons_flags - General console flags
    + * @CON_PRINTBUFFER: Used by newly registered consoles to avoid duplicate
    + * output of messages that were already shown by boot
    + * consoles or read by userspace via syslog() syscall.
    + * @CON_CONSDEV: Indicates that the console driver is backing
    + * /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 {
    char name[16];
    --
    2.30.2
    \
     
     \ /
      Last update: 2023-03-26 23:28    [W:4.267 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site