mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-01 04:53:09 -04:00
tty: tty_driver: move TTY macros to the top
So that they can be referenced in structs once converted to enums (in the next patches). Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://lore.kernel.org/r/20250317070046.24386-13-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f812af3642
commit
67acbcc324
@@ -16,6 +16,84 @@ struct tty_driver;
|
||||
struct serial_icounter_struct;
|
||||
struct serial_struct;
|
||||
|
||||
/**
|
||||
* DOC: TTY Driver Flags
|
||||
*
|
||||
* TTY_DRIVER_RESET_TERMIOS
|
||||
* Requests the tty layer to reset the termios setting when the last
|
||||
* process has closed the device. Used for PTYs, in particular.
|
||||
*
|
||||
* TTY_DRIVER_REAL_RAW
|
||||
* Indicates that the driver will guarantee not to set any special
|
||||
* character handling flags if this is set for the tty:
|
||||
*
|
||||
* ``(IGNBRK || (!BRKINT && !PARMRK)) && (IGNPAR || !INPCK)``
|
||||
*
|
||||
* That is, if there is no reason for the driver to
|
||||
* send notifications of parity and break characters up to the line
|
||||
* driver, it won't do so. This allows the line driver to optimize for
|
||||
* this case if this flag is set. (Note that there is also a promise, if
|
||||
* the above case is true, not to signal overruns, either.)
|
||||
*
|
||||
* TTY_DRIVER_DYNAMIC_DEV
|
||||
* The individual tty devices need to be registered with a call to
|
||||
* tty_register_device() when the device is found in the system and
|
||||
* unregistered with a call to tty_unregister_device() so the devices will
|
||||
* be show up properly in sysfs. If not set, all &tty_driver.num entries
|
||||
* will be created by the tty core in sysfs when tty_register_driver() is
|
||||
* called. This is to be used by drivers that have tty devices that can
|
||||
* appear and disappear while the main tty driver is registered with the
|
||||
* tty core.
|
||||
*
|
||||
* TTY_DRIVER_DEVPTS_MEM
|
||||
* Don't use the standard arrays (&tty_driver.ttys and
|
||||
* &tty_driver.termios), instead use dynamic memory keyed through the
|
||||
* devpts filesystem. This is only applicable to the PTY driver.
|
||||
*
|
||||
* TTY_DRIVER_HARDWARE_BREAK
|
||||
* Hardware handles break signals. Pass the requested timeout to the
|
||||
* &tty_operations.break_ctl instead of using a simple on/off interface.
|
||||
*
|
||||
* TTY_DRIVER_DYNAMIC_ALLOC
|
||||
* Do not allocate structures which are needed per line for this driver
|
||||
* (&tty_driver.ports) as it would waste memory. The driver will take
|
||||
* care. This is only applicable to the PTY driver.
|
||||
*
|
||||
* TTY_DRIVER_UNNUMBERED_NODE
|
||||
* Do not create numbered ``/dev`` nodes. For example, create
|
||||
* ``/dev/ttyprintk`` and not ``/dev/ttyprintk0``. Applicable only when a
|
||||
* driver for a single tty device is being allocated.
|
||||
*/
|
||||
#define TTY_DRIVER_INSTALLED 0x0001
|
||||
#define TTY_DRIVER_RESET_TERMIOS 0x0002
|
||||
#define TTY_DRIVER_REAL_RAW 0x0004
|
||||
#define TTY_DRIVER_DYNAMIC_DEV 0x0008
|
||||
#define TTY_DRIVER_DEVPTS_MEM 0x0010
|
||||
#define TTY_DRIVER_HARDWARE_BREAK 0x0020
|
||||
#define TTY_DRIVER_DYNAMIC_ALLOC 0x0040
|
||||
#define TTY_DRIVER_UNNUMBERED_NODE 0x0080
|
||||
|
||||
/* tty driver types */
|
||||
#define TTY_DRIVER_TYPE_SYSTEM 0x0001
|
||||
#define TTY_DRIVER_TYPE_CONSOLE 0x0002
|
||||
#define TTY_DRIVER_TYPE_SERIAL 0x0003
|
||||
#define TTY_DRIVER_TYPE_PTY 0x0004
|
||||
#define TTY_DRIVER_TYPE_SCC 0x0005 /* scc driver */
|
||||
#define TTY_DRIVER_TYPE_SYSCONS 0x0006
|
||||
|
||||
/* system subtypes (magic, used by tty_io.c) */
|
||||
#define SYSTEM_TYPE_TTY 0x0001
|
||||
#define SYSTEM_TYPE_CONSOLE 0x0002
|
||||
#define SYSTEM_TYPE_SYSCONS 0x0003
|
||||
#define SYSTEM_TYPE_SYSPTMX 0x0004
|
||||
|
||||
/* pty subtypes (magic, used by tty_io.c) */
|
||||
#define PTY_TYPE_MASTER 0x0001
|
||||
#define PTY_TYPE_SLAVE 0x0002
|
||||
|
||||
/* serial subtype definitions */
|
||||
#define SERIAL_TYPE_NORMAL 1
|
||||
|
||||
/**
|
||||
* struct tty_operations -- interface between driver and tty
|
||||
*
|
||||
@@ -494,84 +572,6 @@ static inline void tty_set_operations(struct tty_driver *driver,
|
||||
driver->ops = op;
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC: TTY Driver Flags
|
||||
*
|
||||
* TTY_DRIVER_RESET_TERMIOS
|
||||
* Requests the tty layer to reset the termios setting when the last
|
||||
* process has closed the device. Used for PTYs, in particular.
|
||||
*
|
||||
* TTY_DRIVER_REAL_RAW
|
||||
* Indicates that the driver will guarantee not to set any special
|
||||
* character handling flags if this is set for the tty:
|
||||
*
|
||||
* ``(IGNBRK || (!BRKINT && !PARMRK)) && (IGNPAR || !INPCK)``
|
||||
*
|
||||
* That is, if there is no reason for the driver to
|
||||
* send notifications of parity and break characters up to the line
|
||||
* driver, it won't do so. This allows the line driver to optimize for
|
||||
* this case if this flag is set. (Note that there is also a promise, if
|
||||
* the above case is true, not to signal overruns, either.)
|
||||
*
|
||||
* TTY_DRIVER_DYNAMIC_DEV
|
||||
* The individual tty devices need to be registered with a call to
|
||||
* tty_register_device() when the device is found in the system and
|
||||
* unregistered with a call to tty_unregister_device() so the devices will
|
||||
* be show up properly in sysfs. If not set, all &tty_driver.num entries
|
||||
* will be created by the tty core in sysfs when tty_register_driver() is
|
||||
* called. This is to be used by drivers that have tty devices that can
|
||||
* appear and disappear while the main tty driver is registered with the
|
||||
* tty core.
|
||||
*
|
||||
* TTY_DRIVER_DEVPTS_MEM
|
||||
* Don't use the standard arrays (&tty_driver.ttys and
|
||||
* &tty_driver.termios), instead use dynamic memory keyed through the
|
||||
* devpts filesystem. This is only applicable to the PTY driver.
|
||||
*
|
||||
* TTY_DRIVER_HARDWARE_BREAK
|
||||
* Hardware handles break signals. Pass the requested timeout to the
|
||||
* &tty_operations.break_ctl instead of using a simple on/off interface.
|
||||
*
|
||||
* TTY_DRIVER_DYNAMIC_ALLOC
|
||||
* Do not allocate structures which are needed per line for this driver
|
||||
* (&tty_driver.ports) as it would waste memory. The driver will take
|
||||
* care. This is only applicable to the PTY driver.
|
||||
*
|
||||
* TTY_DRIVER_UNNUMBERED_NODE
|
||||
* Do not create numbered ``/dev`` nodes. For example, create
|
||||
* ``/dev/ttyprintk`` and not ``/dev/ttyprintk0``. Applicable only when a
|
||||
* driver for a single tty device is being allocated.
|
||||
*/
|
||||
#define TTY_DRIVER_INSTALLED 0x0001
|
||||
#define TTY_DRIVER_RESET_TERMIOS 0x0002
|
||||
#define TTY_DRIVER_REAL_RAW 0x0004
|
||||
#define TTY_DRIVER_DYNAMIC_DEV 0x0008
|
||||
#define TTY_DRIVER_DEVPTS_MEM 0x0010
|
||||
#define TTY_DRIVER_HARDWARE_BREAK 0x0020
|
||||
#define TTY_DRIVER_DYNAMIC_ALLOC 0x0040
|
||||
#define TTY_DRIVER_UNNUMBERED_NODE 0x0080
|
||||
|
||||
/* tty driver types */
|
||||
#define TTY_DRIVER_TYPE_SYSTEM 0x0001
|
||||
#define TTY_DRIVER_TYPE_CONSOLE 0x0002
|
||||
#define TTY_DRIVER_TYPE_SERIAL 0x0003
|
||||
#define TTY_DRIVER_TYPE_PTY 0x0004
|
||||
#define TTY_DRIVER_TYPE_SCC 0x0005 /* scc driver */
|
||||
#define TTY_DRIVER_TYPE_SYSCONS 0x0006
|
||||
|
||||
/* system subtypes (magic, used by tty_io.c) */
|
||||
#define SYSTEM_TYPE_TTY 0x0001
|
||||
#define SYSTEM_TYPE_CONSOLE 0x0002
|
||||
#define SYSTEM_TYPE_SYSCONS 0x0003
|
||||
#define SYSTEM_TYPE_SYSPTMX 0x0004
|
||||
|
||||
/* pty subtypes (magic, used by tty_io.c) */
|
||||
#define PTY_TYPE_MASTER 0x0001
|
||||
#define PTY_TYPE_SLAVE 0x0002
|
||||
|
||||
/* serial subtype definitions */
|
||||
#define SERIAL_TYPE_NORMAL 1
|
||||
|
||||
int tty_register_driver(struct tty_driver *driver);
|
||||
void tty_unregister_driver(struct tty_driver *driver);
|
||||
struct device *tty_register_device(struct tty_driver *driver, unsigned index,
|
||||
|
||||
Reference in New Issue
Block a user