From 6f325eaa86f167f8c1e1ffa288dfb991248a6ac7 Mon Sep 17 00:00:00 2001
From: Catalin Marinas <catalin.marinas@arm.com>
Date: Mon, 22 Sep 2014 18:02:49 +0100
Subject: [PATCH] Revert "arm64: dmi: Add SMBIOS/DMI support"

This reverts commit 668ebd106860f09f43993517f786a2ddfd0f9ebe.

... because of lots of warnings during boot if Linux isn't started as an EFI
application:

WARNING: CPU: 4 PID: 1 at
/work/Linux/linux-2.6-aarch64/drivers/firmware/dmi_scan.c:591 dmi_matches+0x10c/0x110()
dmi check: not initialized yet.
Modules linked in:
CPU: 4 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc4+ #606
Call trace:
[<ffffffc000087fb0>] dump_backtrace+0x0/0x124
[<ffffffc0000880e4>] show_stack+0x10/0x1c
[<ffffffc0004d58f8>] dump_stack+0x74/0xb8
[<ffffffc0000ab640>] warn_slowpath_common+0x8c/0xb4
[<ffffffc0000ab6b4>] warn_slowpath_fmt+0x4c/0x58
[<ffffffc0003f2d7c>] dmi_matches+0x108/0x110
[<ffffffc0003f2da8>] dmi_check_system+0x24/0x68
[<ffffffc0006974c4>] atkbd_init+0x10/0x34
[<ffffffc0000814ac>] do_one_initcall+0x88/0x1a0
[<ffffffc00067aab4>] kernel_init_freeable+0x148/0x1e8
[<ffffffc0004d2c64>] kernel_init+0x10/0xd4

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
 arch/arm64/Kconfig           | 11 -----------
 arch/arm64/include/asm/dmi.h | 31 -------------------------------
 arch/arm64/kernel/efi.c      |  8 --------
 3 files changed, 50 deletions(-)
 delete mode 100644 arch/arm64/include/asm/dmi.h

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 6e72fa301a38b..f0d3a2d85a5b3 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 69d37d87b1594..0000000000000
--- 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 b71ab0e5780c4..03aaa99e1ea00 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);
 
-- 
GitLab