Skip to contentSkip to conversation

Add ARCH_MIGHT_HAVE_VGA_CONSOLE

PATCH Superseded Yoshinori Sato 4 participants 13 messages Feb 2, 2015 – Feb 15, 2015

Subsystems (16)
Arm (32-bit) x86 PowerPC MIPS +12 more subsystems
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add ARCH_MIGHT_HAVE_VGA_CONSOLE

The dependence of VGA_CONSOLE is complicated.
We need clean up.

---
 arch/alpha/Kconfig            | 1 +
 arch/arc/Kconfig              | 1 +
 arch/arm/Kconfig              | 1 +
 arch/c6x/Kconfig              | 1 +
 arch/hexagon/Kconfig          | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/m32r/Kconfig             | 1 +
 arch/metag/Kconfig            | 1 +
 arch/microblaze/Kconfig       | 1 +
 arch/mips/Kconfig             | 1 +
 arch/nios2/Kconfig            | 1 +
 arch/openrisc/Kconfig         | 1 +
 arch/powerpc/Kconfig          | 1 +
 arch/s390/Kconfig             | 1 +
 arch/score/Kconfig            | 1 +
 arch/tile/Kconfig             | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/unicore32/Kconfig        | 1 +
 arch/x86/Kconfig              | 1 +
 arch/xtensa/Kconfig           | 1 +
 drivers/video/console/Kconfig | 8 ++++----
 21 files changed, 24 insertions(+), 4 deletions(-)
arch/alpha/Kconfig +1 -0
index b7ff9a3..5940d83 100644
@@ -27,6 +27,7 @@ config ALPHA
 	select MODULES_USE_ELF_RELA
 	select ODD_RT_SIGACTION
 	select OLD_SIGSUSPEND
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
arch/arc/Kconfig +1 -0
index df94ac1..d2c8401 100644
@@ -36,6 +36,7 @@ config ARC
 	select OF_EARLY_FLATTREE
 	select PERF_USE_VMALLOC
 	select HAVE_DEBUG_STACKOVERFLOW
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config TRACE_IRQFLAGS_SUPPORT
 	def_bool y
arch/arm/Kconfig +1 -0
index 97d07ed..5662728 100644
@@ -76,6 +76,7 @@ config ARM
 	select PERF_USE_VMALLOC
 	select RTC_LIB
 	select SYS_SUPPORTS_APM_EMULATION
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
 	# Above selects are sorted alphabetically; please add new ones
 	# according to that.  Thanks.
 	help
arch/c6x/Kconfig +1 -0
index 77ea09b..d74c07a 100644
@@ -17,6 +17,7 @@ config C6X
 	select OF_EARLY_FLATTREE
 	select GENERIC_CLOCKEVENTS
 	select MODULES_USE_ELF_RELA
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config MMU
 	def_bool n
arch/hexagon/Kconfig +1 -0
index 4dc89d1..c08fed2 100644
@@ -28,6 +28,7 @@ config HEXAGON
 	select MODULES_USE_ELF_RELA
 	select GENERIC_CPU_DEVICES
 	select HAVE_DMA_ATTRS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	---help---
 	  Qualcomm Hexagon is a processor architecture designed for high
 	  performance and low power across a wide variety of applications.
arch/ia64/Kconfig +1 -0
index 074e52b..55e91d9 100644
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
arch/m32r/Kconfig +1 -0
index 9e44bbd..15ed3c9 100644
@@ -16,6 +16,7 @@ config M32R
 	select ARCH_USES_GETTIMEOFFSET
 	select MODULES_USE_ELF_RELA
 	select HAVE_DEBUG_STACKOVERFLOW
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config SBUS
 	bool
arch/metag/Kconfig +1 -0
index 0b389a8..9826622 100644
@@ -29,6 +29,7 @@ config METAG
 	select OF
 	select OF_EARLY_FLATTREE
 	select SPARSE_IRQ
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config STACKTRACE_SUPPORT
 	def_bool y
arch/microblaze/Kconfig +1 -0
index 0bce820..94e9f56 100644
@@ -2,6 +2,7 @@ config MICROBLAZE
 	def_bool y
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	select ARCH_WANT_IPC_PARSE_VERSION
 	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select BUILDTIME_EXTABLE_SORT
arch/mips/Kconfig +1 -0
index 3289969..0d5fe76 100644
@@ -54,6 +54,7 @@ config MIPS
 	select CPU_PM if CPU_IDLE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_BINFMT_ELF_STATE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE 
 
 menu "Machine selection"
 
arch/nios2/Kconfig +1 -0
index 2361acf..579540c 100644
@@ -15,6 +15,7 @@ config NIOS2
 	select SOC_BUS
 	select SPARSE_IRQ
 	select USB_ARCH_HAS_HCD if USB_SUPPORT
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config GENERIC_CSUM
 	def_bool y
arch/openrisc/Kconfig +1 -0
index e5a693b..25df7f0 100644
@@ -24,6 +24,7 @@ config OPENRISC
 	select MODULES_USE_ELF_RELA
 	select HAVE_DEBUG_STACKOVERFLOW
 	select OR1K_PIC
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config MMU
 	def_bool y
arch/powerpc/Kconfig +1 -0
index a2a168e..4c2e2d2 100644
@@ -152,6 +152,7 @@ config PPC
 	select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
 	select NO_BOOTMEM
 	select HAVE_GENERIC_RCU_GUP
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if !4xx && !8xx
 
 config GENERIC_CSUM
 	def_bool CPU_LITTLE_ENDIAN
arch/s390/Kconfig +1 -0
index 68b68d7..a95e77a 100644
@@ -95,6 +95,7 @@ config S390
 	select ARCH_INLINE_WRITE_UNLOCK_BH
 	select ARCH_INLINE_WRITE_UNLOCK_IRQ
 	select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	select ARCH_SAVE_PAGE_KEYS if HIBERNATION
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_USE_CMPXCHG_LOCKREF
arch/score/Kconfig +1 -0
index 366e1b5..672b6f1 100644
@@ -14,6 +14,7 @@ config SCORE
 	select VIRT_TO_BUS
 	select MODULES_USE_ELF_REL
 	select CLONE_BACKWARDS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 choice
 	prompt "System type"
arch/tile/Kconfig +1 -0
index 7cca418..4a0453b 100644
@@ -27,6 +27,7 @@ config TILE
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 	select HAVE_DEBUG_STACKOVERFLOW
 	select ARCH_WANT_FRAME_POINTERS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 # FIXME: investigate whether we need/want these options.
 #	select HAVE_IOREMAP_PROT
arch/um/Kconfig.common +1 -0
index d195a87..20cbd36 100644
@@ -9,6 +9,7 @@ config UML
 	select GENERIC_IO
 	select GENERIC_CLOCKEVENTS
 	select TTY # Needed for line.c
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config MMU
 	bool
arch/unicore32/Kconfig +1 -0
index 928237a..cc93430 100644
@@ -18,6 +18,7 @@ config UNICORE32
 	select ARCH_WANT_FRAME_POINTERS
 	select GENERIC_IOMAP
 	select MODULES_USE_ELF_REL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  UniCore-32 is 32-bit Instruction Set Architecture,
 	  including a series of low-power-consumption RISC chip
arch/x86/Kconfig +1 -0
index ba397bd..981c1a2 100644
@@ -138,6 +138,7 @@ config X86
 	select HAVE_ACPI_APEI_NMI if ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 	select X86_FEATURE_NAMES if PROC_FS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config INSTRUCTION_DECODER
 	def_bool y
arch/xtensa/Kconfig +1 -0
index e31d494..0719c97 100644
@@ -21,6 +21,7 @@ config XTENSA
 	select IRQ_DOMAIN
 	select MODULES_USE_ELF_RELA
 	select VIRT_TO_BUS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  Xtensa processors are 32-bit RISC machines designed by Tensilica
 	  primarily for embedded systems.  These processors are both
drivers/video/console/Kconfig +4 -4
index fe1cd01..bd45569 100644
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 
 config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
-	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-		!ARM64
+	depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
Signature · 1 line
2.1.4
#1 lore raw

Hi Sato-san,

Quoted 2 lines · Yoshinori Sato

The dependence of VGA_CONSOLE is complicated.
We need clean up.

Thanks!

Quoted 15 lines
---
 arch/alpha/Kconfig            | 1 +
 arch/arc/Kconfig              | 1 +
 arch/arm/Kconfig              | 1 +
 arch/c6x/Kconfig              | 1 +
 arch/hexagon/Kconfig          | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/m32r/Kconfig             | 1 +
 arch/metag/Kconfig            | 1 +
 arch/microblaze/Kconfig       | 1 +
 arch/mips/Kconfig             | 1 +
 arch/nios2/Kconfig            | 1 +
 arch/openrisc/Kconfig         | 1 +
Quoted 8 lines
 arch/powerpc/Kconfig          | 1 +
 arch/s390/Kconfig             | 1 +
 arch/score/Kconfig            | 1 +
 arch/tile/Kconfig             | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/unicore32/Kconfig        | 1 +
 arch/x86/Kconfig              | 1 +
 arch/xtensa/Kconfig           | 1 +

While I know you just kept the existing logic from drivers/video/console/kconfig,
I doubt all of the architectures listed above do support VGA. I guest most of them were just too lazy to update the dependency list.

I think only alpha, arm, ia64, mips, powerpc, and x86 can have VGA.

Quoted 11 lines
drivers/video/console/rconfig renamed from drivers/video/console/Kconfig +3 -0
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 

drivers/video/console/rconfig line 15

Quoted 10 lines
drivers/video/console/rconfig renamed from drivers/video/console/Kconfig +1 -4
 config VGA_CONSOLE
        bool "VGA text console" if EXPERT || !X86
-       depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-               !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-               (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-               !ARM64
+       depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
        default y
        help
          Saying Y here will allow you to use Linux in text mode through a

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#2 lore raw

At Mon, 2 Feb 2015 09:10:06 +0100,

Quoted 35 lines · Geert Uytterhoeven

Hi Sato-san,

Quoted 2 lines · Yoshinori Sato

The dependence of VGA_CONSOLE is complicated.
We need clean up.

Thanks!

Quoted 15 lines
---
 arch/alpha/Kconfig            | 1 +
 arch/arc/Kconfig              | 1 +
 arch/arm/Kconfig              | 1 +
 arch/c6x/Kconfig              | 1 +
 arch/hexagon/Kconfig          | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/m32r/Kconfig             | 1 +
 arch/metag/Kconfig            | 1 +
 arch/microblaze/Kconfig       | 1 +
 arch/mips/Kconfig             | 1 +
 arch/nios2/Kconfig            | 1 +
 arch/openrisc/Kconfig         | 1 +
Quoted 8 lines
 arch/powerpc/Kconfig          | 1 +
 arch/s390/Kconfig             | 1 +
 arch/score/Kconfig            | 1 +
 arch/tile/Kconfig             | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/unicore32/Kconfig        | 1 +
 arch/x86/Kconfig              | 1 +
 arch/xtensa/Kconfig           | 1 +
Quoted 6 lines

While I know you just kept the existing logic from drivers/video/console/kconfig,
I doubt all of the architectures listed above do support VGA. I guest most of them were just too lazy to update the dependency list.

I think only alpha, arm, ia64, mips, powerpc, and x86 can have VGA.

Hmm...
If require, Add this flag.

---
 arch/alpha/Kconfig            | 1 +
 arch/arm/Kconfig              | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/mips/Kconfig             | 1 +
 arch/powerpc/Kconfig          | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/x86/Kconfig              | 1 +
 drivers/video/console/Kconfig | 8 ++++----
 8 files changed, 11 insertions(+), 4 deletions(-)
arch/alpha/Kconfig +1 -0
index b7ff9a3..5940d83 100644
@@ -27,6 +27,7 @@ config ALPHA
 	select MODULES_USE_ELF_RELA
 	select ODD_RT_SIGACTION
 	select OLD_SIGSUSPEND
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +1 -0
index 97d07ed..5662728 100644
@@ -76,6 +76,7 @@ config ARM
 	select PERF_USE_VMALLOC
 	select RTC_LIB
 	select SYS_SUPPORTS_APM_EMULATION
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
 	# Above selects are sorted alphabetically; please add new ones
 	# according to that.  Thanks.
 	help
arch/ia64/Kconfig +1 -0
index 074e52b..55e91d9 100644
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
arch/mips/Kconfig +1 -0
index 3289969..d921c4c 100644
@@ -54,6 +54,7 @@ config MIPS
 	select CPU_PM if CPU_IDLE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_BINFMT_ELF_STATE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 menu "Machine selection"
 
arch/powerpc/Kconfig +1 -0
index a2a168e..4c2e2d2 100644
@@ -152,6 +152,7 @@ config PPC
 	select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
 	select NO_BOOTMEM
 	select HAVE_GENERIC_RCU_GUP
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if !4xx && !8xx
 
 config GENERIC_CSUM
 	def_bool CPU_LITTLE_ENDIAN
arch/um/Kconfig.common +1 -0
index d195a87..20cbd36 100644
@@ -9,6 +9,7 @@ config UML
 	select GENERIC_IO
 	select GENERIC_CLOCKEVENTS
 	select TTY # Needed for line.c
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config MMU
 	bool
arch/x86/Kconfig +1 -0
index ba397bd..981c1a2 100644
@@ -138,6 +138,7 @@ config X86
 	select HAVE_ACPI_APEI_NMI if ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 	select X86_FEATURE_NAMES if PROC_FS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config INSTRUCTION_DECODER
 	def_bool y
drivers/video/console/Kconfig +4 -4
index fe1cd01..bd45569 100644
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 
 config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
-	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-		!ARM64
+	depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
Signature · 1 line
2.1.4
maintainer Reviewed-by
#3 lore raw
Quoted 43 lines · On Tuesday 03 February 2015 00:48:20 Yoshinori Sato wrote:

At Mon, 2 Feb 2015 09:10:06 +0100,

Quoted 41 lines · Geert Uytterhoeven

Hi Sato-san,

Quoted 2 lines · Yoshinori Sato

The dependence of VGA_CONSOLE is complicated.
We need clean up.

Thanks!

Quoted 15 lines
---
 arch/alpha/Kconfig            | 1 +
 arch/arc/Kconfig              | 1 +
 arch/arm/Kconfig              | 1 +
 arch/c6x/Kconfig              | 1 +
 arch/hexagon/Kconfig          | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/m32r/Kconfig             | 1 +
 arch/metag/Kconfig            | 1 +
 arch/microblaze/Kconfig       | 1 +
 arch/mips/Kconfig             | 1 +
 arch/nios2/Kconfig            | 1 +
 arch/openrisc/Kconfig         | 1 +
Quoted 8 lines
 arch/powerpc/Kconfig          | 1 +
 arch/s390/Kconfig             | 1 +
 arch/score/Kconfig            | 1 +
 arch/tile/Kconfig             | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/unicore32/Kconfig        | 1 +
 arch/x86/Kconfig              | 1 +
 arch/xtensa/Kconfig           | 1 +

While I know you just kept the existing logic from drivers/video/console/kconfig,
I doubt all of the architectures listed above do support VGA. I guest most of them were just too lazy to update the dependency list.

I think only alpha, arm, ia64, mips, powerpc, and x86 can have VGA.

The list looks right to me too. We could be more specific in case of ARM, MIPS and PowerPC and move the symbols into the individual platforms that do support it, but it's fine to leave this up to the architecture maintainers.

Quoted 4 lines

Hmm...
If require, Add this flag.

Please add this patch to your series with my Reviewed-by line added.

except for one thing:

arch/arm/Kconfig config ARM · line 82

Quoted 10 lines
arch/arm/Kconfig +1 -0
@@ -76,6 +76,7 @@ config ARM
       select PERF_USE_VMALLOC
       select RTC_LIB
       select SYS_SUPPORTS_APM_EMULATION
+       select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
       # Above selects are sorted alphabetically; please add new ones
       # according to that.  Thanks.
       help

You did not read the comment in the patch context: This list of selects is sorted alphabetically in order to avoid merge conflicts. Please keep it this way.

Thanks,

Arnd

#4 lore raw

Hi Arnd,

Quoted 17 lines · On Mon, 02 Feb 2015 21:11:50 +0100 Arnd Bergmann <[email protected]> wrote:

arch/arm/Kconfig config ARM · line 82

Quoted 10 lines · On Tuesday 03 February 2015 00:48:20 Yoshinori Sato wrote:
arch/arm/Kconfig +1 -0
@@ -76,6 +76,7 @@ config ARM
       select PERF_USE_VMALLOC
       select RTC_LIB
       select SYS_SUPPORTS_APM_EMULATION
+       select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
       # Above selects are sorted alphabetically; please add new ones
       # according to that.  Thanks.
       help

You did not read the comment in the patch context: This list of selects is sorted alphabetically in order to avoid merge conflicts. Please keep it this way.

Why would you not just put the "select ARCH_MIGHT_HAVE_VGA_CONSOLE" under each of those other config symbols and further restrict the possibility of conflicts?

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#5 lore raw
In reply to Arnd Bergmann

At Mon, 02 Feb 2015 21:11:50 +0100,

Quoted 51 lines · Arnd Bergmann
Quoted 43 lines · On Tuesday 03 February 2015 00:48:20 Yoshinori Sato wrote:

At Mon, 2 Feb 2015 09:10:06 +0100,

Quoted 41 lines · Geert Uytterhoeven

Hi Sato-san,

Quoted 2 lines · Yoshinori Sato

The dependence of VGA_CONSOLE is complicated.
We need clean up.

Thanks!

Quoted 15 lines
---
 arch/alpha/Kconfig            | 1 +
 arch/arc/Kconfig              | 1 +
 arch/arm/Kconfig              | 1 +
 arch/c6x/Kconfig              | 1 +
 arch/hexagon/Kconfig          | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/m32r/Kconfig             | 1 +
 arch/metag/Kconfig            | 1 +
 arch/microblaze/Kconfig       | 1 +
 arch/mips/Kconfig             | 1 +
 arch/nios2/Kconfig            | 1 +
 arch/openrisc/Kconfig         | 1 +
Quoted 8 lines
 arch/powerpc/Kconfig          | 1 +
 arch/s390/Kconfig             | 1 +
 arch/score/Kconfig            | 1 +
 arch/tile/Kconfig             | 1 +
 arch/um/Kconfig.common        | 1 +
 arch/unicore32/Kconfig        | 1 +
 arch/x86/Kconfig              | 1 +
 arch/xtensa/Kconfig           | 1 +

While I know you just kept the existing logic from drivers/video/console/kconfig,
I doubt all of the architectures listed above do support VGA. I guest most of them were just too lazy to update the dependency list.

I think only alpha, arm, ia64, mips, powerpc, and x86 can have VGA.

The list looks right to me too. We could be more specific in case of ARM, MIPS and PowerPC and move the symbols into the individual platforms that do support it, but it's fine to leave this up to the architecture maintainers.

Quoted 8 lines
Quoted 4 lines

Hmm...
If require, Add this flag.

Please add this patch to your series with my Reviewed-by line added.

OK.

Quoted 16 lines

except for one thing:

arch/arm/Kconfig config ARM · line 82

Quoted 10 lines
arch/arm/Kconfig +1 -0
@@ -76,6 +76,7 @@ config ARM
       select PERF_USE_VMALLOC
       select RTC_LIB
       select SYS_SUPPORTS_APM_EMULATION
+       select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
       # Above selects are sorted alphabetically; please add new ones
       # according to that.  Thanks.
       help

You did not read the comment in the patch context: This list of selects is sorted alphabetically in order to avoid merge conflicts. Please keep it this way.

Ouch.
I will fix v3.

Quoted 3 lines

Thanks,

Arnd

Signature · 2 lines
Yoshinori Sato
<[email protected]>
#6 lore raw
In reply to Yoshinori Sato

Hi Sato-san,

Your second version looks fine to me, except for this part:

arch/um/Kconfig.common config UML · line 15

Quoted 10 lines · Yoshinori Sato
arch/um/Kconfig.common +1 -0
@@ -9,6 +9,7 @@ config UML
        select GENERIC_IO
        select GENERIC_CLOCKEVENTS
        select TTY # Needed for line.c
+       select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config MMU
        bool

UML definitely doesn't have VGA support.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#7 lore raw

At Mon, 2 Feb 2015 22:07:50 +0100,

Quoted 15 lines · Geert Uytterhoeven

Hi Sato-san,

Your second version looks fine to me, except for this part:

Quoted 8 lines · Yoshinori Sato
arch/um/Kconfig.common +1 -0
@@ -9,6 +9,7 @@ config UML
        select GENERIC_IO
        select GENERIC_CLOCKEVENTS
        select TTY # Needed for line.c
+       select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
Quoted 4 lines

arch/um/Kconfig.common config UML · line 15

Quoted 2 lines
arch/um/Kconfig.common +0 -0
 config MMU
        bool

UML definitely doesn't have VGA support.

Ouch.
I will send v3.
Thanks.

Quoted 10 lines

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

Signature · 2 lines
Yoshinori Sato
<[email protected]>
#8 lore raw

PATCH v3 1/1 Add ARCH_MIGHT_HAVE_VGA_CONSOLE

In reply to Yoshinori Sato

Changes v3
- Remove um
- ARM sort alphabetical order

Changes v2
- Remove some archtecture

---
 arch/alpha/Kconfig            | 1 +
 arch/arm/Kconfig              | 1 +
 arch/ia64/Kconfig             | 1 +
 arch/mips/Kconfig             | 1 +
 arch/powerpc/Kconfig          | 1 +
 arch/x86/Kconfig              | 1 +
 drivers/video/console/Kconfig | 8 ++++----
 7 files changed, 10 insertions(+), 4 deletions(-)
arch/alpha/Kconfig +1 -0
index b7ff9a3..5940d83 100644
@@ -27,6 +27,7 @@ config ALPHA
 	select MODULES_USE_ELF_RELA
 	select ODD_RT_SIGACTION
 	select OLD_SIGSUSPEND
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +1 -0
index 97d07ed..cd936c6 100644
@@ -7,6 +7,7 @@ config ARM
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_USE_BUILTIN_BSWAP
 	select ARCH_USE_CMPXCHG_LOCKREF
arch/ia64/Kconfig +1 -0
index 074e52b..55e91d9 100644
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
arch/mips/Kconfig +1 -0
index 3289969..d921c4c 100644
@@ -54,6 +54,7 @@ config MIPS
 	select CPU_PM if CPU_IDLE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_BINFMT_ELF_STATE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 menu "Machine selection"
 
arch/powerpc/Kconfig +1 -0
index a2a168e..4c2e2d2 100644
@@ -152,6 +152,7 @@ config PPC
 	select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
 	select NO_BOOTMEM
 	select HAVE_GENERIC_RCU_GUP
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if !4xx && !8xx
 
 config GENERIC_CSUM
 	def_bool CPU_LITTLE_ENDIAN
arch/x86/Kconfig +1 -0
index ba397bd..981c1a2 100644
@@ -138,6 +138,7 @@ config X86
 	select HAVE_ACPI_APEI_NMI if ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 	select X86_FEATURE_NAMES if PROC_FS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config INSTRUCTION_DECODER
 	def_bool y
drivers/video/console/Kconfig +4 -4
index fe1cd01..bd45569 100644
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 
 config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
-	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-		!ARM64
+	depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
Signature · 1 line
2.1.4
maintainer
#9 lore raw

drivers/video/console/Kconfig line 10

Quoted 10 lines · On Wednesday 04 February 2015 15:03:32 Yoshinori Sato wrote:
drivers/video/console/Kconfig +3 -0
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 
 

I just noticed one more problem: The file that you add the option to is conditional on CONFIG_VT, and that option is user-selectable. If VT is disabled, you will get a warning from architectures that select the symbol.

I think you should move the statement above into drivers/video/Kconfig, outside of the 'if VT'.

Arnd

#10 lore raw

At Wed, 04 Feb 2015 08:37:16 +0100,

Quoted 18 lines · Arnd Bergmann

Review line 10

Quoted 10 lines · On Wednesday 04 February 2015 15:03:32 Yoshinori Sato wrote:
(quoted diff) +3 -0
@@ -2,14 +2,14 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
 menu "Console display driver support"
 
 

I just noticed one more problem: The file that you add the option to is conditional on CONFIG_VT, and that option is user-selectable. If VT is disabled, you will get a warning from architectures that select the symbol.

Quoted 2 lines

I think you should move the statement above into drivers/video/Kconfig, outside of the 'if VT'.

I see.
Fixed.

---
 arch/alpha/Kconfig            |  1 +
 arch/arm/Kconfig              |  1 +
 arch/ia64/Kconfig             |  1 +
 arch/mips/Kconfig             |  1 +
 arch/powerpc/Kconfig          |  1 +
 arch/x86/Kconfig              |  1 +
 drivers/video/Kconfig         |  4 +---
 drivers/video/console/Kconfig | 11 ++++++-----
 8 files changed, 13 insertions(+), 8 deletions(-)
arch/alpha/Kconfig +1 -0
index b7ff9a3..5940d83 100644
@@ -27,6 +27,7 @@ config ALPHA
 	select MODULES_USE_ELF_RELA
 	select ODD_RT_SIGACTION
 	select OLD_SIGSUSPEND
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +1 -0
index 97d07ed..cd936c6 100644
@@ -7,6 +7,7 @@ config ARM
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_USE_BUILTIN_BSWAP
 	select ARCH_USE_CMPXCHG_LOCKREF
arch/ia64/Kconfig +1 -0
index 074e52b..55e91d9 100644
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
arch/mips/Kconfig +1 -0
index 3289969..d921c4c 100644
@@ -54,6 +54,7 @@ config MIPS
 	select CPU_PM if CPU_IDLE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_BINFMT_ELF_STATE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 menu "Machine selection"
 
arch/powerpc/Kconfig +1 -0
index a2a168e..4c2e2d2 100644
@@ -152,6 +152,7 @@ config PPC
 	select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
 	select NO_BOOTMEM
 	select HAVE_GENERIC_RCU_GUP
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if !4xx && !8xx
 
 config GENERIC_CSUM
 	def_bool CPU_LITTLE_ENDIAN
arch/x86/Kconfig +1 -0
index ba397bd..981c1a2 100644
@@ -138,6 +138,7 @@ config X86
 	select HAVE_ACPI_APEI_NMI if ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 	select X86_FEATURE_NAMES if PROC_FS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config INSTRUCTION_DECODER
 	def_bool y
drivers/video/Kconfig +1 -3
index 8bf495f..5a8b576 100644
@@ -42,9 +42,7 @@ config VIDEOMODE_HELPERS
 config HDMI
 	bool
 
-if VT
-	source "drivers/video/console/Kconfig"
-endif
+source "drivers/video/console/Kconfig"
 
 if FB || SGI_NEWPORT_CONSOLE
 	source "drivers/video/logo/Kconfig"
drivers/video/console/Kconfig +6 -5
index fe1cd01..98f0af1 100644
@@ -2,14 +2,15 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
+if VT
 menu "Console display driver support"
 
 config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
-	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-		!ARM64
+	depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
@@ -137,4 +138,4 @@ config STI_CONSOLE
           The alternative is to use your primary serial port as a console.
 
 endmenu
-
+endif
Signature · 1 line
2.1.4
Quoted 2 lines

Arnd

Signature · 2 lines
Yoshinori Sato
<[email protected]>
#11 lore raw

PATCH v4 1/1 Add ARCH_MIGHT_HAVE_VGA_CONSOLE

In reply to Yoshinori Sato

Changes V4
- Fix error in VT=n

Changes v3
- Remove um
- ARM sort alphabetical order

Changes v2
- Remove some archtecture

---
 arch/alpha/Kconfig            |  1 +
 arch/arm/Kconfig              |  1 +
 arch/ia64/Kconfig             |  1 +
 arch/mips/Kconfig             |  1 +
 arch/powerpc/Kconfig          |  1 +
 arch/x86/Kconfig              |  1 +
 drivers/video/Kconfig         |  4 +---
 drivers/video/console/Kconfig | 11 ++++++-----
 8 files changed, 13 insertions(+), 8 deletions(-)
arch/alpha/Kconfig +1 -0
index b7ff9a3..5940d83 100644
@@ -27,6 +27,7 @@ config ALPHA
 	select MODULES_USE_ELF_RELA
 	select ODD_RT_SIGACTION
 	select OLD_SIGSUSPEND
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +1 -0
index 97d07ed..cd936c6 100644
@@ -7,6 +7,7 @@ config ARM
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAS_GCOV_PROFILE_ALL
 	select ARCH_MIGHT_HAVE_PC_PARPORT
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_USE_BUILTIN_BSWAP
 	select ARCH_USE_CMPXCHG_LOCKREF
arch/ia64/Kconfig +1 -0
index 074e52b..55e91d9 100644
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
arch/mips/Kconfig +1 -0
index 3289969..d921c4c 100644
@@ -54,6 +54,7 @@ config MIPS
 	select CPU_PM if CPU_IDLE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_BINFMT_ELF_STATE
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 menu "Machine selection"
 
arch/powerpc/Kconfig +1 -0
index a2a168e..4c2e2d2 100644
@@ -152,6 +152,7 @@ config PPC
 	select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
 	select NO_BOOTMEM
 	select HAVE_GENERIC_RCU_GUP
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE if !4xx && !8xx
 
 config GENERIC_CSUM
 	def_bool CPU_LITTLE_ENDIAN
arch/x86/Kconfig +1 -0
index ba397bd..981c1a2 100644
@@ -138,6 +138,7 @@ config X86
 	select HAVE_ACPI_APEI_NMI if ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 	select X86_FEATURE_NAMES if PROC_FS
+	select ARCH_MIGHT_HAVE_VGA_CONSOLE
 
 config INSTRUCTION_DECODER
 	def_bool y
drivers/video/Kconfig +1 -3
index 8bf495f..5a8b576 100644
@@ -42,9 +42,7 @@ config VIDEOMODE_HELPERS
 config HDMI
 	bool
 
-if VT
-	source "drivers/video/console/Kconfig"
-endif
+source "drivers/video/console/Kconfig"
 
 if FB || SGI_NEWPORT_CONSOLE
 	source "drivers/video/logo/Kconfig"
drivers/video/console/Kconfig +6 -5
index fe1cd01..98f0af1 100644
@@ -2,14 +2,15 @@
 # Video configuration
 #
 
+config ARCH_MIGHT_HAVE_VGA_CONSOLE
+        bool
+
+if VT
 menu "Console display driver support"
 
 config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
-	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
-		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
-		!ARM64
+	depends on ARCH_MIGHT_HAVE_VGA_CONSOLE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
@@ -137,4 +138,4 @@ config STI_CONSOLE
           The alternative is to use your primary serial port as a console.
 
 endmenu
-
+endif
Signature · 1 line
2.1.4
Acked-by on v4 1/1
#12 lore raw
Quoted 7 lines · Yoshinori Sato

Changes V4
- Fix error in VT=n

Changes v3
- Remove um
- ARM sort alphabetical order

Quoted 5 lines

Changes v2
- Remove some archtecture

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds