Browse Source

efifb: Enable the efi-framebuffer platform driver for ARM and arm64

Allows the efifb driver to be built for ARM and arm64. This simply involves
updating the Kconfig dependency expression, and supplying dummy versions of
efifb_setup_from_dmi().

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Borislav Petkov <bp@alien8.de>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/1461614832-17633-25-git-send-email-matt@codeblueprint.co.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ard Biesheuvel 9 years ago
parent
commit
9822504c1f
3 changed files with 9 additions and 1 deletions
  1. 4 0
      arch/arm/include/asm/efi.h
  2. 4 0
      arch/arm64/include/asm/efi.h
  3. 1 1
      drivers/video/fbdev/Kconfig

+ 4 - 0
arch/arm/include/asm/efi.h

@@ -67,6 +67,10 @@ void efi_virtmap_unload(void);
 struct screen_info *alloc_screen_info(efi_system_table_t *sys_table_arg);
 struct screen_info *alloc_screen_info(efi_system_table_t *sys_table_arg);
 void free_screen_info(efi_system_table_t *sys_table, struct screen_info *si);
 void free_screen_info(efi_system_table_t *sys_table, struct screen_info *si);
 
 
+static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
+{
+}
+
 /*
 /*
  * A reasonable upper bound for the uncompressed kernel size is 32 MBytes,
  * A reasonable upper bound for the uncompressed kernel size is 32 MBytes,
  * so we will reserve that amount of memory. We have no easy way to tell what
  * so we will reserve that amount of memory. We have no easy way to tell what

+ 4 - 0
arch/arm64/include/asm/efi.h

@@ -59,6 +59,10 @@ int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
 #define alloc_screen_info(x...)		&screen_info
 #define alloc_screen_info(x...)		&screen_info
 #define free_screen_info(x...)
 #define free_screen_info(x...)
 
 
+static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
+{
+}
+
 #define EFI_ALLOC_ALIGN		SZ_64K
 #define EFI_ALLOC_ALIGN		SZ_64K
 
 
 /*
 /*

+ 1 - 1
drivers/video/fbdev/Kconfig

@@ -761,7 +761,7 @@ config FB_VESA
 
 
 config FB_EFI
 config FB_EFI
 	bool "EFI-based Framebuffer Support"
 	bool "EFI-based Framebuffer Support"
-	depends on (FB = y) && X86 && EFI
+	depends on (FB = y) && !IA64 && EFI
 	select FB_CFB_FILLRECT
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select FB_CFB_IMAGEBLIT