aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2014-09-22 13:02:49 -0400
committerCatalin Marinas <catalin.marinas@arm.com>2014-09-22 13:12:37 -0400
commit6f325eaa86f167f8c1e1ffa288dfb991248a6ac7 (patch)
treec143951b99328ce6a621d635747df41a1acb4705
parent2189064795dc3fb4101e5c34d28c6b62b8a3bfd9 (diff)
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>
-rw-r--r--arch/arm64/Kconfig11
-rw-r--r--arch/arm64/include/asm/dmi.h31
-rw-r--r--arch/arm64/kernel/efi.c8
3 files changed, 0 insertions, 50 deletions
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
369 allow the kernel to be booted as an EFI application. This 369 allow the kernel to be booted as an EFI application. This
370 is only useful on systems that have UEFI firmware. 370 is only useful on systems that have UEFI firmware.
371 371
372config DMI
373 bool "Enable support for SMBIOS (DMI) tables"
374 depends on EFI
375 default y
376 help
377 This enables SMBIOS/DMI feature for systems.
378
379 This option is only useful on systems that have UEFI firmware.
380 However, even with this option, the resultant kernel should
381 continue to boot on existing non-UEFI platforms.
382
383endmenu 372endmenu
384 373
385menu "Userspace binary formats" 374menu "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 @@
1/*
2 * arch/arm64/include/asm/dmi.h
3 *
4 * Copyright (C) 2013 Linaro Limited.
5 * Written by: Yi Li (yi.li@linaro.org)
6 *
7 * based on arch/ia64/include/asm/dmi.h
8 *
9 * This file is subject to the terms and conditions of the GNU General Public
10 * License. See the file "COPYING" in the main directory of this archive
11 * for more details.
12 */
13
14#ifndef __ASM_DMI_H
15#define __ASM_DMI_H
16
17#include <linux/io.h>
18#include <linux/slab.h>
19
20/*
21 * According to section 2.3.6 of the UEFI spec, the firmware should not
22 * request a virtual mapping for configuration tables such as SMBIOS.
23 * This means we have to map them before use.
24 */
25#define dmi_early_remap(x, l) ioremap_cache(x, l)
26#define dmi_early_unmap(x, l) iounmap(x)
27#define dmi_remap(x, l) ioremap_cache(x, l)
28#define dmi_unmap(x) iounmap(x)
29#define dmi_alloc(l) kzalloc(l, GFP_KERNEL)
30
31#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 @@
11 * 11 *
12 */ 12 */
13 13
14#include <linux/dmi.h>
15#include <linux/efi.h> 14#include <linux/efi.h>
16#include <linux/export.h> 15#include <linux/export.h>
17#include <linux/memblock.h> 16#include <linux/memblock.h>
@@ -436,13 +435,6 @@ static int __init arm64_enter_virtual_mode(void)
436 } 435 }
437 set_bit(EFI_SYSTEM_TABLES, &efi.flags); 436 set_bit(EFI_SYSTEM_TABLES, &efi.flags);
438 437
439 /*
440 * DMI depends on EFI on arm64, and dmi_scan_machine() needs to be
441 * called early because dmi_id_init(), which is an arch_initcall itself,
442 * depends on dmi_scan_machine() having been called already.
443 */
444 dmi_scan_machine();
445
446 local_irq_save(flags); 438 local_irq_save(flags);
447 cpu_switch_mm(idmap_pg_dir, &init_mm); 439 cpu_switch_mm(idmap_pg_dir, &init_mm);
448 440