Commit 4293b092 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman
Browse files

dummycon: limit Arm console size hack to footbridge



The dummycon default console size used to be determined by architecture,
but now this is a Kconfig setting on everything except ARM. Tracing this
back in the historic git trees, this was used to match the size of VGA
console or VGA framebuffer on early machines, but nowadays that code is
no longer used, except probably on the old footbridge/netwinder since
that is the only one that supports vgacon.

On machines with a framebuffer, booting with DT so far results in always
using the hardcoded 80x30 size in dummycon, while on ATAGS the setting
can come from a bootloader specific override. Both seem to be worse
choices than the Kconfig setting, since the actual text size for fbcon
also depends on the selected font.

Make this work the same way as everywhere else and use the normal
Kconfig setting, except for the footbridge with vgacon, which keeps
using the traditional code. If vgacon is disabled, footbridge can
also ignore the setting. This means the screen_info only has to be
provided when either vgacon or EFI are enabled now.

To limit the amount of surprises on Arm, change the Kconfig default
to the previously used 80x30 setting instead of the usual 80x25.

Reviewed-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Acked-by: default avatarHelge Deller <deller@gmx.de>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20231009211845.3136536-4-arnd@kernel.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8a736ddf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ static int __init parse_tag_mem32(const struct tag *tag)

__tagtable(ATAG_MEM, parse_tag_mem32);

#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_VGA_CONSOLE)
static int __init parse_tag_videotext(const struct tag *tag)
{
	screen_info.orig_x            = tag->u.videotext.x;
+1 −2
Original line number Diff line number Diff line
@@ -928,8 +928,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc)
		request_resource(&ioport_resource, &lp2);
}

#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE) || \
    defined(CONFIG_EFI)
#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_EFI)
struct screen_info screen_info = {
 .orig_video_lines	= 30,
 .orig_video_cols	= 80,
+3 −2
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ config DUMMY_CONSOLE

config DUMMY_CONSOLE_COLUMNS
	int "Initial number of console screen columns"
	depends on DUMMY_CONSOLE && !ARM
	depends on DUMMY_CONSOLE && !ARCH_FOOTBRIDGE
	default 160 if PARISC
	default 80
	help
@@ -62,8 +62,9 @@ config DUMMY_CONSOLE_COLUMNS

config DUMMY_CONSOLE_ROWS
	int "Initial number of console screen rows"
	depends on DUMMY_CONSOLE && !ARM
	depends on DUMMY_CONSOLE && !ARCH_FOOTBRIDGE
	default 64 if PARISC
	default 30 if ARM
	default 25
	help
	  On PA-RISC, the default value is 64, which should fit a 1280x1024
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
 *  Dummy console driver
 */

#if defined(__arm__)
#if defined(CONFIG_ARCH_FOOTBRIDGE) && defined(CONFIG_VGA_CONSOLE)
#define DUMMY_COLUMNS	screen_info.orig_video_cols
#define DUMMY_ROWS	screen_info.orig_video_lines
#else