diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2014-09-22 13:02:49 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2014-09-22 13:12:37 -0400 |
commit | 6f325eaa86f167f8c1e1ffa288dfb991248a6ac7 (patch) | |
tree | c143951b99328ce6a621d635747df41a1acb4705 | |
parent | 2189064795dc3fb4101e5c34d28c6b62b8a3bfd9 (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/Kconfig | 11 | ||||
-rw-r--r-- | arch/arm64/include/asm/dmi.h | 31 | ||||
-rw-r--r-- | arch/arm64/kernel/efi.c | 8 |
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 | ||
372 | config 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 | |||
383 | endmenu | 372 | endmenu |
384 | 373 | ||
385 | menu "Userspace binary formats" | 374 | 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 @@ | |||
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 | ||