[PATCH v2 00/47] tty: vt: cleanup and documentation

Jiri Slaby (SUSE)
2024-01-22T11:04:07Z

Push the console code (vt.c, vt.h, console.h, ...) into a bit more
maintainable state. Especially all around consw structure and document
it.

CSI parser is also a bit cleaned up. More to follow some time in the
next round.

[v2] See respective patches for changes. The major changes:
* vesa.h introduced
* parameters of csi*() simplified

Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: Martin Hostettler <textshell@uchuujin.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>

Jiri Slaby (SUSE) (47):

vgacon: inline vc_scrolldelta_helper() into vgacon_scrolldelta()
fbcon: make display_desc a static array in fbcon_startup()
tty: vt: fix 20 vs 0x20 typo in EScsiignore
tty: vt: expect valid vc when in tty ops
tty: vt: pass proper pointers from tioclinux()
tty: vt: push console lock from tioclinux() down to 2 functions
tty: vt: pass vc_resize_user as a parameter
tty: vt: make vc_is_sel()'s vc const
tty: vt: define an enum for CSI+m codes
tty: vt: use case ranges for CSI+m fg/bg colors
tty: vt: define an enum for CSI+J codes
tty: vt: reflow csi_J()
use clamp() for counts in csi_?() handlers
don't pass vc->vc_par[0] to csi_?() handlers
tty: vt: define an enum for CSI+K codes
tty: vt: reflow csi_K()
tty: vt: define an enum for ascii characters
tty: vt: remove extern from functions in selection.h
tty: vt: make consw::con_debug_*() return void
tty: vt: make init parameter of consw::con_init() a bool
tty: vt: sanitize arguments of consw::con_clear()
tty: vt: remove checks for count in consw::con_clear() implementations
tty: vt: add con_putc() helper
tty: vt: eliminate unneeded consw::con_putc() implementations
tty: vt: sanitize consw::con_putc() parameters
tty: vt: sanitize consw::con_putcs() parameters
consoles: use if instead of switch-case in consw::con_cursor()
fbdev/core: simplify cursor_state setting in fbcon_ops::cursor()
tty: vt: remove CM_* constants
tty: vt: make consw::con_switch() return a bool
tty: vt: stop using -1 for blank mode in consw::con_blank()
tty: vt: define a common enum for VESA blanking constants
tty: vt: use VESA blanking constants
tty: vt: use enum constants for VESA blanking modes
tty: vt: make types around consw::con_blank() bool
tty: vt: make font of consw::con_font_set() const
tty: vt: make consw::con_font_default()'s name const
tty: vt: change consw::con_set_origin() return type
fbcon: remove consw::con_screen_pos()
tty: vt: remove consw::con_screen_pos()
tty: vt: make types of screenpos() more consistent
fbcon: remove fbcon_getxy()
tty: vt: remove consw::con_getxy()
tty: vt: remove unused consw::con_flush_scrollback()
tty: vt: document the rest of struct consw
tty: vt: fix up kernel-doc
Documentation: add console.rst

Documentation/driver-api/tty/console.rst | 45 ++
Documentation/driver-api/tty/index.rst | 1 +
drivers/tty/vt/selection.c | 43 +-
drivers/tty/vt/vt.c | 645 +++++++++++------------
drivers/tty/vt/vt_ioctl.c | 6 +-
drivers/video/console/dummycon.c | 38 +-
drivers/video/console/mdacon.c | 43 +-
drivers/video/console/newport_con.c | 69 +--
drivers/video/console/sticon.c | 79 ++-
drivers/video/console/vgacon.c | 152 +++---
drivers/video/fbdev/core/bitblit.c | 13 +-
drivers/video/fbdev/core/fbcon.c | 123 ++---
drivers/video/fbdev/core/fbcon.h | 4 +-
drivers/video/fbdev/core/fbcon_ccw.c | 13 +-
drivers/video/fbdev/core/fbcon_cw.c | 13 +-
drivers/video/fbdev/core/fbcon_ud.c | 13 +-
drivers/video/fbdev/core/tileblit.c | 4 +-
include/linux/console.h | 124 +++--
include/linux/console_struct.h | 1 -
include/linux/selection.h | 56 +-
include/linux/vt_kern.h | 12 +-
include/uapi/linux/fb.h | 8 +-
include/uapi/linux/vesa.h | 18 +
23 files changed, 755 insertions(+), 768 deletions(-)
create mode 100644 Documentation/driver-api/tty/console.rst
create mode 100644 include/uapi/linux/vesa.h

--
2.43.0