tty: vt: define a common enum for VESA blanking constants

There are currently two places with VESA blanking constants definitions:
fb.h and console.h. Extract/unify the two to a separate header (vesa.h).

Given the fb's is in an uapi header, create the common header in uapi
too.

Note that instead of macros, an enum (vesa_blank_mode) is created. But
the macros are kept too (they now expand to the enum constants), just in
case someone in userspace performs some #ifdeffery.

Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-kernel@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Helge Deller <deller@gmx.de> # parisc STI console
Link: https://lore.kernel.org/r/20240122110401.7289-33-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jiri Slaby (SUSE) 2024-01-22 12:03:46 +01:00 committed by Greg Kroah-Hartman
parent 735a51943f
commit ace4ebf9b7
3 changed files with 20 additions and 13 deletions

View file

@ -18,6 +18,7 @@
#include <linux/bits.h>
#include <linux/rculist.h>
#include <linux/types.h>
#include <linux/vesa.h>
struct vc_data;
struct console_font_op;
@ -520,12 +521,6 @@ void vcs_remove_sysfs(int index);
*/
extern atomic_t ignore_console_lock_warning;
/* VESA Blanking Levels */
#define VESA_NO_BLANKING 0
#define VESA_VSYNC_SUSPEND 1
#define VESA_HSYNC_SUSPEND 2
#define VESA_POWERDOWN 3
extern void console_init(void);
/* For deferred console takeover */

View file

@ -4,6 +4,7 @@
#include <linux/types.h>
#include <linux/i2c.h>
#include <linux/vesa.h>
/* Definitions of frame buffers */
@ -293,13 +294,6 @@ struct fb_con2fbmap {
__u32 framebuffer;
};
/* VESA Blanking Levels */
#define VESA_NO_BLANKING 0
#define VESA_VSYNC_SUSPEND 1
#define VESA_HSYNC_SUSPEND 2
#define VESA_POWERDOWN 3
enum {
/* screen: unblanked, hsync: on, vsync: on */
FB_BLANK_UNBLANK = VESA_NO_BLANKING,

18
include/uapi/linux/vesa.h Normal file
View file

@ -0,0 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_VESA_H
#define _UAPI_LINUX_VESA_H
/* VESA Blanking Levels */
enum vesa_blank_mode {
VESA_NO_BLANKING = 0,
#define VESA_NO_BLANKING VESA_NO_BLANKING
VESA_VSYNC_SUSPEND = 1,
#define VESA_VSYNC_SUSPEND VESA_VSYNC_SUSPEND
VESA_HSYNC_SUSPEND = 2,
#define VESA_HSYNC_SUSPEND VESA_HSYNC_SUSPEND
VESA_POWERDOWN = VESA_VSYNC_SUSPEND | VESA_HSYNC_SUSPEND,
#define VESA_POWERDOWN VESA_POWERDOWN
VESA_BLANK_MAX = VESA_POWERDOWN,
};
#endif