Message ID | 20240118075756.10541-32-jirislaby@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tty: vt: cleanup and documentation | expand |
Hi Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE): > There are VESA blanking constants defined in console.h already. So use > them in the console code instead of constant values. These constants also exist in include/uapi/linux/fb.h. It would be nice to find a common header where they can be shared. Best regards Thomas > > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> > Cc: Helge Deller <deller@gmx.de> > Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> > Cc: linux-fbdev@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: linux-parisc@vger.kernel.org > --- > drivers/tty/vt/vt.c | 9 +++++---- > drivers/video/console/newport_con.c | 2 +- > drivers/video/console/sticon.c | 2 +- > drivers/video/console/vgacon.c | 6 +++--- > 4 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c > index 279f802aa222..6f46fefedcfb 100644 > --- a/drivers/tty/vt/vt.c > +++ b/drivers/tty/vt/vt.c > @@ -4334,7 +4334,7 @@ static int set_vesa_blanking(u8 __user *mode_user) > return -EFAULT; > > console_lock(); > - vesa_blank_mode = (mode < 4) ? mode : 0; > + vesa_blank_mode = (mode < 4) ? mode : VESA_NO_BLANKING; > console_unlock(); > > return 0; > @@ -4361,7 +4361,7 @@ void do_blank_screen(int entering_gfx) > if (entering_gfx) { > hide_cursor(vc); > save_screen(vc); > - vc->vc_sw->con_blank(vc, 1, 1); > + vc->vc_sw->con_blank(vc, VESA_VSYNC_SUSPEND, 1); > console_blanked = fg_console + 1; > blank_state = blank_off; > set_origin(vc); > @@ -4382,7 +4382,8 @@ void do_blank_screen(int entering_gfx) > > save_screen(vc); > /* In case we need to reset origin, blanking hook returns 1 */ > - i = vc->vc_sw->con_blank(vc, vesa_off_interval ? 1 : (vesa_blank_mode + 1), 0); > + i = vc->vc_sw->con_blank(vc, vesa_off_interval ? VESA_VSYNC_SUSPEND : > + (vesa_blank_mode + 1), 0); > console_blanked = fg_console + 1; > if (i) > set_origin(vc); > @@ -4433,7 +4434,7 @@ void do_unblank_screen(int leaving_gfx) > } > > console_blanked = 0; > - if (vc->vc_sw->con_blank(vc, 0, leaving_gfx)) > + if (vc->vc_sw->con_blank(vc, VESA_NO_BLANKING, leaving_gfx)) > /* Low-level driver cannot restore -> do it ourselves */ > update_screen(vc); > if (console_blank_hook) > diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c > index 039d1c9937d2..ad3a09142770 100644 > --- a/drivers/video/console/newport_con.c > +++ b/drivers/video/console/newport_con.c > @@ -480,7 +480,7 @@ static int newport_blank(struct vc_data *c, int blank, int mode_switch) > { > unsigned short treg; > > - if (blank == 0) { > + if (blank == VESA_NO_BLANKING) { > /* unblank console */ > treg = newport_vc2_get(npregs, VC2_IREG_CONTROL); > newport_vc2_set(npregs, VC2_IREG_CONTROL, > diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c > index f3bb48a0e980..817b89c45e81 100644 > --- a/drivers/video/console/sticon.c > +++ b/drivers/video/console/sticon.c > @@ -300,7 +300,7 @@ static bool sticon_switch(struct vc_data *conp) > > static int sticon_blank(struct vc_data *c, int blank, int mode_switch) > { > - if (blank == 0) { > + if (blank == VESA_NO_BLANKING) { > if (mode_switch) > vga_is_gfx = 0; > return 1; > diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c > index 5025ab501f02..910dc73874b7 100644 > --- a/drivers/video/console/vgacon.c > +++ b/drivers/video/console/vgacon.c > @@ -800,10 +800,10 @@ static void vga_pal_blank(struct vgastate *state) > static int vgacon_blank(struct vc_data *c, int blank, int mode_switch) > { > switch (blank) { > - case 0: /* Unblank */ > + case VESA_NO_BLANKING: /* Unblank */ > if (vga_vesa_blanked) { > vga_vesa_unblank(&vgastate); > - vga_vesa_blanked = 0; > + vga_vesa_blanked = VESA_NO_BLANKING; > } > if (vga_palette_blanked) { > vga_set_palette(c, color_table); > @@ -813,7 +813,7 @@ static int vgacon_blank(struct vc_data *c, int blank, int mode_switch) > vga_is_gfx = false; > /* Tell console.c that it has to restore the screen itself */ > return 1; > - case 1: /* Normal blanking */ > + case VESA_VSYNC_SUSPEND: /* Normal blanking */ > if (!mode_switch && vga_video_type == VIDEO_TYPE_VGAC) { > vga_pal_blank(&vgastate); > vga_palette_blanked = true;
On 18. 01. 24, 9:30, Thomas Zimmermann wrote: > Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE): >> There are VESA blanking constants defined in console.h already. So use >> them in the console code instead of constant values. > > These constants also exist in include/uapi/linux/fb.h. It would be nice > to find a common header where they can be shared. Hi, see 32/45. I actually don't know how to fix that nicely while keeping uapi happy.
Hi Am 18.01.24 um 09:32 schrieb Jiri Slaby: > On 18. 01. 24, 9:30, Thomas Zimmermann wrote: >> Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE): >>> There are VESA blanking constants defined in console.h already. So use >>> them in the console code instead of constant values. >> >> These constants also exist in include/uapi/linux/fb.h. It would be >> nice to find a common header where they can be shared. > > Hi, > > see 32/45. > > I actually don't know how to fix that nicely while keeping uapi happy. Is it hard to get a new UAPI header accepted (honest question)? There are a few things I'd like to split off from fbdev. But that would require UAPI headers. Best regards Thomas >
On 18. 01. 24, 9:41, Thomas Zimmermann wrote:
> Is it hard to get a new UAPI header accepted (honest question)?
Not at all, IMO. The header just needs to be correctâ„¢ as it would be set
in stone once released.
thanks,
On Thu, Jan 18, 2024 at 09:41:34AM +0100, Thomas Zimmermann wrote: > Hi > > Am 18.01.24 um 09:32 schrieb Jiri Slaby: > > On 18. 01. 24, 9:30, Thomas Zimmermann wrote: > > > Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE): > > > > There are VESA blanking constants defined in console.h already. So use > > > > them in the console code instead of constant values. > > > > > > These constants also exist in include/uapi/linux/fb.h. It would be > > > nice to find a common header where they can be shared. > > > > Hi, > > > > see 32/45. > > > > I actually don't know how to fix that nicely while keeping uapi happy. > > Is it hard to get a new UAPI header accepted (honest question)? No. > There are a few things I'd like to split off from fbdev. But that > would require UAPI headers. That's fine, create them, but you can't just delete an existing .h file as that will usually break things. thanks, greg k-h
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 279f802aa222..6f46fefedcfb 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -4334,7 +4334,7 @@ static int set_vesa_blanking(u8 __user *mode_user) return -EFAULT; console_lock(); - vesa_blank_mode = (mode < 4) ? mode : 0; + vesa_blank_mode = (mode < 4) ? mode : VESA_NO_BLANKING; console_unlock(); return 0; @@ -4361,7 +4361,7 @@ void do_blank_screen(int entering_gfx) if (entering_gfx) { hide_cursor(vc); save_screen(vc); - vc->vc_sw->con_blank(vc, 1, 1); + vc->vc_sw->con_blank(vc, VESA_VSYNC_SUSPEND, 1); console_blanked = fg_console + 1; blank_state = blank_off; set_origin(vc); @@ -4382,7 +4382,8 @@ void do_blank_screen(int entering_gfx) save_screen(vc); /* In case we need to reset origin, blanking hook returns 1 */ - i = vc->vc_sw->con_blank(vc, vesa_off_interval ? 1 : (vesa_blank_mode + 1), 0); + i = vc->vc_sw->con_blank(vc, vesa_off_interval ? VESA_VSYNC_SUSPEND : + (vesa_blank_mode + 1), 0); console_blanked = fg_console + 1; if (i) set_origin(vc); @@ -4433,7 +4434,7 @@ void do_unblank_screen(int leaving_gfx) } console_blanked = 0; - if (vc->vc_sw->con_blank(vc, 0, leaving_gfx)) + if (vc->vc_sw->con_blank(vc, VESA_NO_BLANKING, leaving_gfx)) /* Low-level driver cannot restore -> do it ourselves */ update_screen(vc); if (console_blank_hook) diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c index 039d1c9937d2..ad3a09142770 100644 --- a/drivers/video/console/newport_con.c +++ b/drivers/video/console/newport_con.c @@ -480,7 +480,7 @@ static int newport_blank(struct vc_data *c, int blank, int mode_switch) { unsigned short treg; - if (blank == 0) { + if (blank == VESA_NO_BLANKING) { /* unblank console */ treg = newport_vc2_get(npregs, VC2_IREG_CONTROL); newport_vc2_set(npregs, VC2_IREG_CONTROL, diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c index f3bb48a0e980..817b89c45e81 100644 --- a/drivers/video/console/sticon.c +++ b/drivers/video/console/sticon.c @@ -300,7 +300,7 @@ static bool sticon_switch(struct vc_data *conp) static int sticon_blank(struct vc_data *c, int blank, int mode_switch) { - if (blank == 0) { + if (blank == VESA_NO_BLANKING) { if (mode_switch) vga_is_gfx = 0; return 1; diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c index 5025ab501f02..910dc73874b7 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c @@ -800,10 +800,10 @@ static void vga_pal_blank(struct vgastate *state) static int vgacon_blank(struct vc_data *c, int blank, int mode_switch) { switch (blank) { - case 0: /* Unblank */ + case VESA_NO_BLANKING: /* Unblank */ if (vga_vesa_blanked) { vga_vesa_unblank(&vgastate); - vga_vesa_blanked = 0; + vga_vesa_blanked = VESA_NO_BLANKING; } if (vga_palette_blanked) { vga_set_palette(c, color_table); @@ -813,7 +813,7 @@ static int vgacon_blank(struct vc_data *c, int blank, int mode_switch) vga_is_gfx = false; /* Tell console.c that it has to restore the screen itself */ return 1; - case 1: /* Normal blanking */ + case VESA_VSYNC_SUSPEND: /* Normal blanking */ if (!mode_switch && vga_video_type == VIDEO_TYPE_VGAC) { vga_pal_blank(&vgastate); vga_palette_blanked = true;
There are VESA blanking constants defined in console.h already. So use them in the console code instead of constant values. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Cc: Helge Deller <deller@gmx.de> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: linux-parisc@vger.kernel.org --- drivers/tty/vt/vt.c | 9 +++++---- drivers/video/console/newport_con.c | 2 +- drivers/video/console/sticon.c | 2 +- drivers/video/console/vgacon.c | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-)