Browse Source

ACPI: add config for BIOS table scan

With the addition of ARM64 that does not have a traditional BIOS to
scan, add a config option which is selected on x86 (ia64 doesn't need
it either, it is EFI/UEFI based system) to do the traditional BIOS
scanning for tables.

Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Graeme Gregory 11 years ago
parent
commit
8a1664be0b
3 changed files with 7 additions and 1 deletions
  1. 1 0
      arch/x86/Kconfig
  2. 3 0
      drivers/acpi/Kconfig
  3. 3 1
      drivers/acpi/osl.c

+ 1 - 0
arch/x86/Kconfig

@@ -132,6 +132,7 @@ config X86
 	select GENERIC_CPU_AUTOPROBE
 	select GENERIC_CPU_AUTOPROBE
 	select HAVE_ARCH_AUDITSYSCALL
 	select HAVE_ARCH_AUDITSYSCALL
 	select ARCH_SUPPORTS_ATOMIC_RMW
 	select ARCH_SUPPORTS_ATOMIC_RMW
+	select ACPI_LEGACY_TABLES_LOOKUP if ACPI
 
 
 config INSTRUCTION_DECODER
 config INSTRUCTION_DECODER
 	def_bool y
 	def_bool y

+ 3 - 0
drivers/acpi/Kconfig

@@ -42,6 +42,9 @@ menuconfig ACPI
 
 
 if ACPI
 if ACPI
 
 
+config ACPI_LEGACY_TABLES_LOOKUP
+	bool
+
 config ACPI_SLEEP
 config ACPI_SLEEP
 	bool
 	bool
 	depends on SUSPEND || HIBERNATION
 	depends on SUSPEND || HIBERNATION

+ 3 - 1
drivers/acpi/osl.c

@@ -259,12 +259,14 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 			       "System description tables not found\n");
 			       "System description tables not found\n");
 			return 0;
 			return 0;
 		}
 		}
-	} else {
+	} else if (IS_ENABLED(CONFIG_ACPI_LEGACY_TABLES_LOOKUP)) {
 		acpi_physical_address pa = 0;
 		acpi_physical_address pa = 0;
 
 
 		acpi_find_root_pointer(&pa);
 		acpi_find_root_pointer(&pa);
 		return pa;
 		return pa;
 	}
 	}
+
+	return 0;
 }
 }
 
 
 /* Must be called with 'acpi_ioremap_lock' or RCU read lock held. */
 /* Must be called with 'acpi_ioremap_lock' or RCU read lock held. */