|  | .. SPDX-License-Identifier: GPL-2.0 | 
|  |  | 
|  | ========== | 
|  | TTY Buffer | 
|  | ========== | 
|  |  | 
|  | .. contents:: :local: | 
|  |  | 
|  | Here, we document functions for taking care of tty buffer and their flipping. | 
|  | Drivers are supposed to fill the buffer by one of those functions below and | 
|  | then flip the buffer, so that the data are passed to :doc:`line discipline | 
|  | <tty_ldisc>` for further processing. | 
|  |  | 
|  | Flip Buffer Management | 
|  | ====================== | 
|  |  | 
|  | .. kernel-doc:: drivers/tty/tty_buffer.c | 
|  | :identifiers: tty_prepare_flip_string tty_insert_flip_string_fixed_flag | 
|  | tty_insert_flip_string_flags __tty_insert_flip_char | 
|  | tty_flip_buffer_push tty_ldisc_receive_buf | 
|  |  | 
|  | ---- | 
|  |  | 
|  | Other Functions | 
|  | =============== | 
|  |  | 
|  | .. kernel-doc:: drivers/tty/tty_buffer.c | 
|  | :identifiers: tty_buffer_space_avail tty_buffer_set_limit | 
|  |  | 
|  | ---- | 
|  |  | 
|  | Buffer Locking | 
|  | ============== | 
|  |  | 
|  | These are used only in special circumstances. Avoid them. | 
|  |  | 
|  | .. kernel-doc:: drivers/tty/tty_buffer.c | 
|  | :identifiers: tty_buffer_lock_exclusive tty_buffer_unlock_exclusive | 
|  |  | 
|  | ---- | 
|  |  | 
|  | Internal Functions | 
|  | ================== | 
|  |  | 
|  | .. kernel-doc:: drivers/tty/tty_buffer.c | 
|  | :internal: |