mbox series

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

Message ID 20240122110401.7289-1-jirislaby@kernel.org (mailing list archive)
Headers show
Series tty: vt: cleanup and documentation | expand

Message

Jiri Slaby Jan. 22, 2024, 11:03 a.m. UTC
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

Comments

Helge Deller Jan. 22, 2024, 8 p.m. UTC | #1
On 1/22/24 12:03, Jiri Slaby (SUSE) wrote:
> 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.

I've not yet looked through all of those patches, but I
tried to boot up a machine with the STI console driver
and I've not seen any issues yet.
So far:

Tested-by: Helge Deller <deller@gmx.de> # parisc STI console

Helge

> [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
>