From: Al Stone al.stone@linaro.org
ACPI_OS_NAME is globally defined as "Microsoft Windows NT" for now. That doesn't make much sense in the ARM context, so set it to "Linux" when CONFIG_ARM64.
If it is necessary to change the return value from _OS_ (that is, return some value other than the default in ACPI_OS_NAME), use the kernel parameter "acpi_os_name=<string>".
Many thanks to Rafael Wysocki for this greatly simplified form of the patch.
Signed-off-by: Hanjun Guo hanjun.guo@linaro.org Signed-off-by: Al Stone al.stone@linaro.org --- arch/arm64/Kconfig | 5 +++++ include/acpi/acconfig.h | 2 ++ include/acpi/platform/aclinux.h | 4 ++++ 3 files changed, 11 insertions(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index e441d28..d812113 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -87,6 +87,11 @@ config ARM64 config 64BIT def_bool y
+config ACPI_OS_NAME + string + default "Linux" + depends on ACPI + config ARCH_PHYS_ADDR_T_64BIT def_bool y
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h index 5a0a3e5..1980bf4 100644 --- a/include/acpi/acconfig.h +++ b/include/acpi/acconfig.h @@ -69,7 +69,9 @@ * code that will not execute the _OSI method unless _OS matches the string * below. Therefore, change this string at your own risk. */ +#ifndef ACPI_OS_NAME #define ACPI_OS_NAME "Microsoft Windows NT" +#endif
/* Maximum objects in the various object caches */
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 1ba7c19..a871cdd 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h @@ -69,6 +69,10 @@ #define ACPI_REDUCED_HARDWARE 1 #endif
+#ifdef CONFIG_ACPI_OS_NAME +#define ACPI_OS_NAME CONFIG_ACPI_OS_NAME +#endif + #include <linux/string.h> #include <linux/kernel.h> #include <linux/ctype.h>