diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 6e72fa301a38..f0d3a2d85a5b 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -369,17 +369,6 @@ config EFI
 	  allow the kernel to be booted as an EFI application. This
 	  is only useful on systems that have UEFI firmware.
 
-config DMI
-	bool "Enable support for SMBIOS (DMI) tables"
-	depends on EFI
-	default y
-	help
-	  This enables SMBIOS/DMI feature for systems.
-
-	  This option is only useful on systems that have UEFI firmware.
-	  However, even with this option, the resultant kernel should
-	  continue to boot on existing non-UEFI platforms.
-
 endmenu
 
 menu "Userspace binary formats"
diff --git a/arch/arm64/include/asm/dmi.h b/arch/arm64/include/asm/dmi.h
deleted file mode 100644
index 69d37d87b159..000000000000
--- a/arch/arm64/include/asm/dmi.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * arch/arm64/include/asm/dmi.h
- *
- * Copyright (C) 2013 Linaro Limited.
- * Written by: Yi Li (yi.li@linaro.org)
- *
- * based on arch/ia64/include/asm/dmi.h
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-
-#ifndef __ASM_DMI_H
-#define __ASM_DMI_H
-
-#include <linux/io.h>
-#include <linux/slab.h>
-
-/*
- * According to section 2.3.6 of the UEFI spec, the firmware should not
- * request a virtual mapping for configuration tables such as SMBIOS.
- * This means we have to map them before use.
- */
-#define dmi_early_remap(x, l)		ioremap_cache(x, l)
-#define dmi_early_unmap(x, l)		iounmap(x)
-#define dmi_remap(x, l)			ioremap_cache(x, l)
-#define dmi_unmap(x)			iounmap(x)
-#define dmi_alloc(l)			kzalloc(l, GFP_KERNEL)
-
-#endif
diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
index b71ab0e5780c..03aaa99e1ea0 100644
--- a/arch/arm64/kernel/efi.c
+++ b/arch/arm64/kernel/efi.c
@@ -11,7 +11,6 @@
  *
  */
 
-#include <linux/dmi.h>
 #include <linux/efi.h>
 #include <linux/export.h>
 #include <linux/memblock.h>
@@ -436,13 +435,6 @@ static int __init arm64_enter_virtual_mode(void)
 	}
 	set_bit(EFI_SYSTEM_TABLES, &efi.flags);
 
-	/*
-	 * DMI depends on EFI on arm64, and dmi_scan_machine() needs to be
-	 * called early because dmi_id_init(), which is an arch_initcall itself,
-	 * depends on dmi_scan_machine() having been called already.
-	 */
-	dmi_scan_machine();
-
 	local_irq_save(flags);
 	cpu_switch_mm(idmap_pg_dir, &init_mm);