Lines Matching +full:per +full:- +full:console

2  *  linux/include/linux/console.h
11 * 10-Mar-94: Arno Griffioen: Conversion for vt100 emulator port from PC LINUX
37 * struct consw - callbacks for consoles
41 * Invoked by csi_M and printing to the console.
42 * @con_set_palette: sets the palette of the console to @table (optional)
43 * @con_scrolldelta: the contents of the console should be scrolled by @lines.
83 * Flush the video console driver's scrollback buffer
87 * Prepare the console for the debugger. This includes, but is not
88 * limited to, unblanking the console, loading an appropriate
93 * Restore the console to its pre-debug state as closely as possible.
100 extern const struct consw dummy_con; /* dummy console buffer */
101 extern const struct consw vga_con; /* VGA text console */
102 extern const struct consw newport_con; /* SGI Newport console */
128 * The interface for a console, or any other device that wants to capture
129 * console messages (printer driver?)
133 * cons_flags - General console flags
137 * @CON_CONSDEV: Indicates that the console driver is backing
138 * /dev/console.
139 * @CON_ENABLED: Indicates if a console is allowed to print records. If
140 * false, the console also will not advance to later
142 * @CON_BOOT: Marks the console driver as early console driver which
145 * when the real console driver is registered unless
148 * that the legacy @console::write callback can be invoked
152 * readiness of the per-CPU areas.
155 * @CON_EXTENDED: The console supports the extended output format of
157 * @CON_SUSPENDED: Indicates if a console is suspended. If true, the
172 * struct console - The console descriptor structure
173 * @name: The name of the console driver
175 * @read: Read callback for console input (Optional)
177 * @unblank: Callback to unblank the console (Optional)
178 * @setup: Callback for initializing the console (Optional)
179 * @exit: Callback for teardown of the console (Optional)
180 * @match: Callback for matching a console (Optional)
181 * @flags: Console flags. See enum cons_flags
182 * @index: Console index, e.g. port number
189 * @node: hlist node for the console list
191 struct console { struct
193 void (*write)(struct console *co, const char *s, unsigned int count); argument
194 int (*read)(struct console *co, char *s, unsigned int count); argument
195 struct tty_driver *(*device)(struct console *co, int *index); argument
197 int (*setup)(struct console *co, char *options); argument
198 int (*exit)(struct console *co); argument
199 int (*match)(struct console *co, char *name, int idx, char *options); argument
237 * console_srcu_read_flags - Locklessly read the console flags
238 * @con: struct console pointer of console to read flags from
241 * notation for locklessly reading the console flags. The READ_ONCE()
245 * Only use this function to read console flags when locklessly
246 * iterating the console list via srcu.
250 static inline short console_srcu_read_flags(const struct console *con) in console_srcu_read_flags()
255 * Locklessly reading console->flags provides a consistent in console_srcu_read_flags()
257 * console->flags and that CPU is using only read-modify-write in console_srcu_read_flags()
260 return data_race(READ_ONCE(con->flags)); in console_srcu_read_flags()
264 * console_srcu_write_flags - Write flags for a registered console
265 * @con: struct console pointer of console to write flags to
273 static inline void console_srcu_write_flags(struct console *con, short flags) in console_srcu_write_flags()
278 WRITE_ONCE(con->flags, flags); in console_srcu_write_flags()
282 static inline bool console_is_registered_locked(const struct console *con) in console_is_registered_locked()
285 return !hlist_unhashed(&con->node); in console_is_registered_locked()
289 * console_is_registered - Check if the console is registered
290 * @con: struct console pointer of console to check
292 * Context: Process context. May sleep while acquiring console list lock.
293 * Return: true if the console is in the console list, otherwise false.
295 * If false is returned for a console that was previously registered, it
296 * can be assumed that the console's unregistration is fully completed,
297 * including the exit() callback after console list removal.
299 static inline bool console_is_registered(const struct console *con) in console_is_registered()
310 * for_each_console_srcu() - Iterator over registered consoles
311 * @con: struct console pointer used as loop cursor
313 * Although SRCU guarantees the console list will be consistent, the
314 * struct console fields may be updated by other CPUs while iterating.
324 * for_each_console() - Iterator over registered consoles
325 * @con: struct console pointer used as loop cursor
327 * The console list and the console->flags are immutable while iterating.
336 extern struct console *early_console;
344 extern void console_force_preferred_locked(struct console *con);
345 extern void register_console(struct console *);
346 extern int unregister_console(struct console *);
354 extern void console_stop(struct console *);
355 extern void console_start(struct console *);
357 extern int braille_register_console(struct console *, int index,
359 extern int braille_unregister_console(struct console *);
368 /* Suspend and resume console messages over PM events */
395 /* For deferred console takeover */