console: Document struct console
authorThomas Gleixner <tglx@linutronix.de>
Mon, 9 Jan 2023 10:07:55 +0000 (11:13 +0106)
committerPetr Mladek <pmladek@suse.com>
Wed, 11 Jan 2023 14:35:11 +0000 (15:35 +0100)
Add kerneldoc comments to struct console.

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-4-john.ogness@linutronix.de
include/linux/console.h

index ed804dd..1e36958 100644 (file)
@@ -164,24 +164,44 @@ enum cons_flags {
        CON_EXTENDED            = BIT(6),
 };
 
+/**
+ * struct console - The console descriptor structure
+ * @name:              The name of the console driver
+ * @write:             Write callback to output messages (Optional)
+ * @read:              Read callback for console input (Optional)
+ * @device:            The underlying TTY device driver (Optional)
+ * @unblank:           Callback to unblank the console (Optional)
+ * @setup:             Callback for initializing the console (Optional)
+ * @exit:              Callback for teardown of the console (Optional)
+ * @match:             Callback for matching a console (Optional)
+ * @flags:             Console flags. See enum cons_flags
+ * @index:             Console index, e.g. port number
+ * @cflag:             TTY control mode flags
+ * @ispeed:            TTY input speed
+ * @ospeed:            TTY output speed
+ * @seq:               Sequence number of the next ringbuffer record to print
+ * @dropped:           Number of unreported dropped ringbuffer records
+ * @data:              Driver private data
+ * @node:              hlist node for the console list
+ */
 struct console {
-       char    name[16];
-       void    (*write)(struct console *, const char *, unsigned);
-       int     (*read)(struct console *, char *, unsigned);
-       struct tty_driver *(*device)(struct console *, int *);
-       void    (*unblank)(void);
-       int     (*setup)(struct console *, char *);
-       int     (*exit)(struct console *);
-       int     (*match)(struct console *, char *name, int idx, char *options);
-       short   flags;
-       short   index;
-       int     cflag;
-       uint    ispeed;
-       uint    ospeed;
-       u64     seq;
-       unsigned long dropped;
-       void    *data;
-       struct hlist_node node;
+       char                    name[16];
+       void                    (*write)(struct console *co, const char *s, unsigned int count);
+       int                     (*read)(struct console *co, char *s, unsigned int count);
+       struct tty_driver       *(*device)(struct console *co, int *index);
+       void                    (*unblank)(void);
+       int                     (*setup)(struct console *co, char *options);
+       int                     (*exit)(struct console *co);
+       int                     (*match)(struct console *co, char *name, int idx, char *options);
+       short                   flags;
+       short                   index;
+       int                     cflag;
+       uint                    ispeed;
+       uint                    ospeed;
+       u64                     seq;
+       unsigned long           dropped;
+       void                    *data;
+       struct hlist_node       node;
 };
 
 #ifdef CONFIG_LOCKDEP