Remove magic macros for screen_info structure members
Stop using magic macros for screen_info structure members. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
Родитель
30c826451d
Коммит
3ea3351000
|
@ -78,9 +78,9 @@ static void __init
|
|||
fixup_cats(struct machine_desc *desc, struct tag *tags,
|
||||
char **cmdline, struct meminfo *mi)
|
||||
{
|
||||
ORIG_VIDEO_LINES = 25;
|
||||
ORIG_VIDEO_POINTS = 16;
|
||||
ORIG_Y = 24;
|
||||
screen_info.orig_video_lines = 25;
|
||||
screen_info.orig_video_points = 16;
|
||||
screen_info.orig_y = 24;
|
||||
}
|
||||
|
||||
MACHINE_START(CATS, "Chalice-CATS")
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
*/
|
||||
|
||||
#if defined(__arm__)
|
||||
#define DUMMY_COLUMNS ORIG_VIDEO_COLS
|
||||
#define DUMMY_ROWS ORIG_VIDEO_LINES
|
||||
#define DUMMY_COLUMNS screen_info.orig_video_cols
|
||||
#define DUMMY_ROWS screen_info.orig_video_lines
|
||||
#elif defined(__hppa__)
|
||||
/* set by Kconfig. Use 80x25 for 640x480 and 160x64 for 1280x1024 */
|
||||
#define DUMMY_COLUMNS CONFIG_DUMMY_CONSOLE_COLUMNS
|
||||
|
|
|
@ -362,7 +362,7 @@ static const char *vgacon_startup(void)
|
|||
u16 saved1, saved2;
|
||||
volatile u16 *p;
|
||||
|
||||
if (ORIG_VIDEO_ISVGA == VIDEO_TYPE_VLFB) {
|
||||
if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB) {
|
||||
no_vga:
|
||||
#ifdef CONFIG_DUMMY_CONSOLE
|
||||
conswitchp = &dummy_con;
|
||||
|
@ -373,28 +373,29 @@ static const char *vgacon_startup(void)
|
|||
}
|
||||
|
||||
/* boot_params.screen_info initialized? */
|
||||
if ((ORIG_VIDEO_MODE == 0) &&
|
||||
(ORIG_VIDEO_LINES == 0) &&
|
||||
(ORIG_VIDEO_COLS == 0))
|
||||
if ((screen_info.orig_video_mode == 0) &&
|
||||
(screen_info.orig_video_lines == 0) &&
|
||||
(screen_info.orig_video_cols == 0))
|
||||
goto no_vga;
|
||||
|
||||
/* VGA16 modes are not handled by VGACON */
|
||||
if ((ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */
|
||||
(ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */
|
||||
(ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */
|
||||
(ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */
|
||||
(ORIG_VIDEO_MODE == 0x6A)) /* 800x600/4, 0x6A is very common */
|
||||
if ((screen_info.orig_video_mode == 0x0D) || /* 320x200/4 */
|
||||
(screen_info.orig_video_mode == 0x0E) || /* 640x200/4 */
|
||||
(screen_info.orig_video_mode == 0x10) || /* 640x350/4 */
|
||||
(screen_info.orig_video_mode == 0x12) || /* 640x480/4 */
|
||||
(screen_info.orig_video_mode == 0x6A)) /* 800x600/4 (VESA) */
|
||||
goto no_vga;
|
||||
|
||||
vga_video_num_lines = ORIG_VIDEO_LINES;
|
||||
vga_video_num_columns = ORIG_VIDEO_COLS;
|
||||
vga_video_num_lines = screen_info.orig_video_lines;
|
||||
vga_video_num_columns = screen_info.orig_video_cols;
|
||||
state.vgabase = NULL;
|
||||
|
||||
if (ORIG_VIDEO_MODE == 7) { /* Is this a monochrome display? */
|
||||
if (screen_info.orig_video_mode == 7) {
|
||||
/* Monochrome display */
|
||||
vga_vram_base = 0xb0000;
|
||||
vga_video_port_reg = VGA_CRT_IM;
|
||||
vga_video_port_val = VGA_CRT_DM;
|
||||
if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) {
|
||||
if ((screen_info.orig_video_ega_bx & 0xff) != 0x10) {
|
||||
static struct resource ega_console_resource =
|
||||
{ .name = "ega", .start = 0x3B0, .end = 0x3BF };
|
||||
vga_video_type = VIDEO_TYPE_EGAM;
|
||||
|
@ -422,12 +423,12 @@ static const char *vgacon_startup(void)
|
|||
vga_vram_base = 0xb8000;
|
||||
vga_video_port_reg = VGA_CRT_IC;
|
||||
vga_video_port_val = VGA_CRT_DC;
|
||||
if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) {
|
||||
if ((screen_info.orig_video_ega_bx & 0xff) != 0x10) {
|
||||
int i;
|
||||
|
||||
vga_vram_size = 0x8000;
|
||||
|
||||
if (!ORIG_VIDEO_ISVGA) {
|
||||
if (!screen_info.orig_video_isVGA) {
|
||||
static struct resource ega_console_resource
|
||||
= { .name = "ega", .start = 0x3C0, .end = 0x3DF };
|
||||
vga_video_type = VIDEO_TYPE_EGAC;
|
||||
|
@ -521,14 +522,14 @@ static const char *vgacon_startup(void)
|
|||
|| vga_video_type == VIDEO_TYPE_VGAC
|
||||
|| vga_video_type == VIDEO_TYPE_EGAM) {
|
||||
vga_hardscroll_enabled = vga_hardscroll_user_enable;
|
||||
vga_default_font_height = ORIG_VIDEO_POINTS;
|
||||
vga_video_font_height = ORIG_VIDEO_POINTS;
|
||||
vga_default_font_height = screen_info.orig_video_points;
|
||||
vga_video_font_height = screen_info.orig_video_points;
|
||||
/* This may be suboptimal but is a safe bet - go with it */
|
||||
vga_scan_lines =
|
||||
vga_video_font_height * vga_video_num_lines;
|
||||
}
|
||||
|
||||
vgacon_xres = ORIG_VIDEO_COLS * VGA_FONTWIDTH;
|
||||
vgacon_xres = screen_info.orig_video_cols * VGA_FONTWIDTH;
|
||||
vgacon_yres = vga_scan_lines;
|
||||
|
||||
if (!vga_init_done) {
|
||||
|
@ -798,7 +799,7 @@ static int vgacon_switch(struct vc_data *c)
|
|||
{
|
||||
int x = c->vc_cols * VGA_FONTWIDTH;
|
||||
int y = c->vc_rows * c->vc_font.height;
|
||||
int rows = ORIG_VIDEO_LINES * vga_default_font_height/
|
||||
int rows = screen_info.orig_video_lines * vga_default_font_height/
|
||||
c->vc_font.height;
|
||||
/*
|
||||
* We need to save screen size here as it's the only way
|
||||
|
@ -818,7 +819,7 @@ static int vgacon_switch(struct vc_data *c)
|
|||
|
||||
if ((vgacon_xres != x || vgacon_yres != y) &&
|
||||
(!(vga_video_num_columns % 2) &&
|
||||
vga_video_num_columns <= ORIG_VIDEO_COLS &&
|
||||
vga_video_num_columns <= screen_info.orig_video_cols &&
|
||||
vga_video_num_lines <= rows))
|
||||
vgacon_doresize(c, c->vc_cols, c->vc_rows);
|
||||
}
|
||||
|
@ -1280,8 +1281,8 @@ static int vgacon_font_get(struct vc_data *c, struct console_font *font)
|
|||
static int vgacon_resize(struct vc_data *c, unsigned int width,
|
||||
unsigned int height, unsigned int user)
|
||||
{
|
||||
if (width % 2 || width > ORIG_VIDEO_COLS ||
|
||||
height > (ORIG_VIDEO_LINES * vga_default_font_height)/
|
||||
if (width % 2 || width > screen_info.orig_video_cols ||
|
||||
height > (screen_info.orig_video_lines * vga_default_font_height)/
|
||||
c->vc_font.height)
|
||||
/* let svgatextmode tinker with video timings and
|
||||
return success */
|
||||
|
@ -1313,8 +1314,8 @@ static void vgacon_save_screen(struct vc_data *c)
|
|||
* console initialization routines.
|
||||
*/
|
||||
vga_bootup_console = 1;
|
||||
c->vc_x = ORIG_X;
|
||||
c->vc_y = ORIG_Y;
|
||||
c->vc_x = screen_info.orig_x;
|
||||
c->vc_y = screen_info.orig_y;
|
||||
}
|
||||
|
||||
/* We can't copy in more then the size of the video buffer,
|
||||
|
|
|
@ -804,7 +804,8 @@ static int __devinit intelfb_pci_register(struct pci_dev *pdev,
|
|||
if (bailearly == 1)
|
||||
bailout(dinfo);
|
||||
|
||||
if (FIXED_MODE(dinfo) && ORIG_VIDEO_ISVGA != VIDEO_TYPE_VLFB) {
|
||||
if (FIXED_MODE(dinfo) &&
|
||||
screen_info.orig_video_isVGA != VIDEO_TYPE_VLFB) {
|
||||
ERR_MSG("Video mode must be programmed at boot time.\n");
|
||||
cleanup(dinfo);
|
||||
return -ENODEV;
|
||||
|
@ -815,7 +816,7 @@ static int __devinit intelfb_pci_register(struct pci_dev *pdev,
|
|||
|
||||
/* Initialise dinfo and related data. */
|
||||
/* If an initial mode was programmed at boot time, get its details. */
|
||||
if (ORIG_VIDEO_ISVGA == VIDEO_TYPE_VLFB)
|
||||
if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB)
|
||||
get_initial_mode(dinfo);
|
||||
|
||||
if (bailearly == 3)
|
||||
|
|
|
@ -1364,7 +1364,7 @@ static int __init vga16fb_probe(struct platform_device *dev)
|
|||
par = info->par;
|
||||
|
||||
mutex_init(&par->open_lock);
|
||||
par->isVGA = ORIG_VIDEO_ISVGA;
|
||||
par->isVGA = screen_info.orig_video_isVGA;
|
||||
par->palette_blanked = 0;
|
||||
par->vesa_blanked = 0;
|
||||
|
||||
|
|
|
@ -47,15 +47,6 @@ struct screen_info {
|
|||
|
||||
extern struct screen_info screen_info;
|
||||
|
||||
#define ORIG_X (screen_info.orig_x)
|
||||
#define ORIG_Y (screen_info.orig_y)
|
||||
#define ORIG_VIDEO_MODE (screen_info.orig_video_mode)
|
||||
#define ORIG_VIDEO_COLS (screen_info.orig_video_cols)
|
||||
#define ORIG_VIDEO_EGA_BX (screen_info.orig_video_ega_bx)
|
||||
#define ORIG_VIDEO_LINES (screen_info.orig_video_lines)
|
||||
#define ORIG_VIDEO_ISVGA (screen_info.orig_video_isVGA)
|
||||
#define ORIG_VIDEO_POINTS (screen_info.orig_video_points)
|
||||
|
||||
#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */
|
||||
#define VIDEO_TYPE_CGA 0x11 /* CGA Display */
|
||||
#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */
|
||||
|
|
Загрузка…
Ссылка в новой задаче