mirror of https://gitee.com/openkylin/linux.git
vt: redefine world of cursor macros
The cursor code used to use magic constants, ANDs, ORs, and some macros. Redefine all this to make some sense. In particular: * Drop CUR_DEFAULT, which is CUR_UNDERLINE. CUR_DEFAULT was used only for cur_default variable initialization, so use CUR_UNDERLINE there to make obvious what's the default. * Drop CUR_HWMASK. Instead, define CUR_SIZE() which explains it more. And use it all over the places. * Define few more masks and bits which will be used in next patches instead of magic constants. * Define CUR_MAKE to build up cursor value. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Cc: dri-devel@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org Link: https://lore.kernel.org/r/20200615074910.19267-25-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
dc219db66a
commit
4dfa3c54f9
|
@ -163,7 +163,7 @@ module_param(default_utf8, int, S_IRUGO | S_IWUSR);
|
|||
int global_cursor_default = -1;
|
||||
module_param(global_cursor_default, int, S_IRUGO | S_IWUSR);
|
||||
|
||||
static int cur_default = CUR_DEFAULT;
|
||||
static int cur_default = CUR_UNDERLINE;
|
||||
module_param(cur_default, int, S_IRUGO | S_IWUSR);
|
||||
|
||||
/*
|
||||
|
|
|
@ -325,7 +325,7 @@ static void bit_cursor(struct vc_data *vc, struct fb_info *info, int mode,
|
|||
ops->p->cursor_shape = vc->vc_cursor_type;
|
||||
cursor.set |= FB_CUR_SETSHAPE;
|
||||
|
||||
switch (ops->p->cursor_shape & CUR_HWMASK) {
|
||||
switch (CUR_SIZE(ops->p->cursor_shape)) {
|
||||
case CUR_NONE:
|
||||
cur_height = 0;
|
||||
break;
|
||||
|
|
|
@ -325,7 +325,7 @@ static void ccw_cursor(struct vc_data *vc, struct fb_info *info, int mode,
|
|||
ops->p->cursor_shape = vc->vc_cursor_type;
|
||||
cursor.set |= FB_CUR_SETSHAPE;
|
||||
|
||||
switch (ops->p->cursor_shape & CUR_HWMASK) {
|
||||
switch (CUR_SIZE(ops->p->cursor_shape)) {
|
||||
case CUR_NONE:
|
||||
cur_height = 0;
|
||||
break;
|
||||
|
|
|
@ -308,7 +308,7 @@ static void cw_cursor(struct vc_data *vc, struct fb_info *info, int mode,
|
|||
ops->p->cursor_shape = vc->vc_cursor_type;
|
||||
cursor.set |= FB_CUR_SETSHAPE;
|
||||
|
||||
switch (ops->p->cursor_shape & CUR_HWMASK) {
|
||||
switch (CUR_SIZE(ops->p->cursor_shape)) {
|
||||
case CUR_NONE:
|
||||
cur_height = 0;
|
||||
break;
|
||||
|
|
|
@ -348,7 +348,7 @@ static void ud_cursor(struct vc_data *vc, struct fb_info *info, int mode,
|
|||
ops->p->cursor_shape = vc->vc_cursor_type;
|
||||
cursor.set |= FB_CUR_SETSHAPE;
|
||||
|
||||
switch (ops->p->cursor_shape & CUR_HWMASK) {
|
||||
switch (CUR_SIZE(ops->p->cursor_shape)) {
|
||||
case CUR_NONE:
|
||||
cur_height = 0;
|
||||
break;
|
||||
|
|
|
@ -173,17 +173,23 @@ struct vc {
|
|||
extern struct vc vc_cons [MAX_NR_CONSOLES];
|
||||
extern void vc_SAK(struct work_struct *work);
|
||||
|
||||
#define CUR_DEF 0
|
||||
#define CUR_NONE 1
|
||||
#define CUR_UNDERLINE 2
|
||||
#define CUR_LOWER_THIRD 3
|
||||
#define CUR_LOWER_HALF 4
|
||||
#define CUR_TWO_THIRDS 5
|
||||
#define CUR_BLOCK 6
|
||||
#define CUR_HWMASK 0x0f
|
||||
#define CUR_SWMASK 0xfff0
|
||||
|
||||
#define CUR_DEFAULT CUR_UNDERLINE
|
||||
#define CUR_MAKE(size, change, set) ((size) | ((change) << 8) | \
|
||||
((set) << 16))
|
||||
#define CUR_SIZE(c) ((c) & 0x00000f)
|
||||
# define CUR_DEF 0
|
||||
# define CUR_NONE 1
|
||||
# define CUR_UNDERLINE 2
|
||||
# define CUR_LOWER_THIRD 3
|
||||
# define CUR_LOWER_HALF 4
|
||||
# define CUR_TWO_THIRDS 5
|
||||
# define CUR_BLOCK 6
|
||||
#define CUR_SW 0x000010
|
||||
#define CUR_ALWAYS_BG 0x000020
|
||||
#define CUR_INVERT_FG_BG 0x000040
|
||||
#define CUR_FG 0x000700
|
||||
#define CUR_BG 0x007000
|
||||
#define CUR_CHANGE(c) ((c) & 0x00ff00)
|
||||
#define CUR_SET(c) (((c) & 0xff0000) >> 8)
|
||||
|
||||
bool con_is_visible(const struct vc_data *vc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue