The global variable edid_info contains the firmware's EDID information as an extension to the regular screen_info on x86. Therefore move it to <asm/screen_info.h>.
Add the Kconfig token ARCH_HAS_EDID_INFO to guard against access on architectures that don't provide edid_info. Select it on x86. Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Ingo Molnar <mi...@redhat.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Dave Hansen <dave.han...@linux.intel.com> Cc: x...@kernel.org Cc: "H. Peter Anvin" <h...@zytor.com> Cc: Helge Deller <del...@gmx.de> Cc: Arnd Bergmann <a...@arndb.de> Cc: Kees Cook <keesc...@chromium.org> Cc: "Paul E. McKenney" <paul...@kernel.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Frederic Weisbecker <frede...@kernel.org> Cc: Nicholas Piggin <npig...@gmail.com> Cc: Ard Biesheuvel <a...@kernel.org> Cc: Sami Tolvanen <samitolva...@google.com> Cc: Juerg Haefliger <juerg.haefli...@canonical.com> --- arch/Kconfig | 6 ++++++ arch/x86/Kconfig | 1 + drivers/video/Kconfig | 3 --- include/asm-generic/screen_info.h | 6 ++++++ include/video/edid.h | 3 --- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 2f58293fd7bcb..ee9866e4df2b0 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -1466,6 +1466,12 @@ config ARCH_HAS_NONLEAF_PMD_YOUNG address translations. Page table walkers that clear the accessed bit may use this capability to reduce their search space. +config ARCH_HAS_EDID_INFO + bool + help + Selected by architectures that provide a global instance of + edid_info. + config ARCH_HAS_SCREEN_INFO bool help diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index d7c2bf4ee403d..ee81855116be7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -76,6 +76,7 @@ config X86 select ARCH_HAS_DEBUG_VM_PGTABLE if !X86_PAE select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_EARLY_DEBUG if KGDB + select ARCH_HAS_EDID_INFO select ARCH_HAS_ELF_RANDOMIZE select ARCH_HAS_FAST_MULTIPLIER select ARCH_HAS_FORTIFY_SOURCE diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index d4a72bea56be0..8b2b9ac37c3df 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -21,9 +21,6 @@ config STI_CORE config VIDEO_CMDLINE bool -config ARCH_HAS_SCREEN_INFO - bool - config VIDEO_NOMODESET bool default n diff --git a/include/asm-generic/screen_info.h b/include/asm-generic/screen_info.h index 6fd0e50fabfcd..5efc99c296b40 100644 --- a/include/asm-generic/screen_info.h +++ b/include/asm-generic/screen_info.h @@ -5,6 +5,12 @@ #include <uapi/linux/screen_info.h> +#include <video/edid.h> + +#if defined(CONFIG_ARCH_HAS_EDID_INFO) +extern struct edid_info edid_info; +#endif + #if defined(CONFIG_ARCH_HAS_SCREEN_INFO) extern struct screen_info screen_info; #endif diff --git a/include/video/edid.h b/include/video/edid.h index f614371e9116a..52aabb7060321 100644 --- a/include/video/edid.h +++ b/include/video/edid.h @@ -4,7 +4,4 @@ #include <uapi/video/edid.h> -#ifdef CONFIG_X86 -extern struct edid_info edid_info; -#endif #endif /* __linux_video_edid_h__ */ -- 2.41.0