summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2014-03-24 14:49:22 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-03-26 16:26:00 +0100
commit08e1d7c0290aaef6bc6d68be8df753ffec02a6ae (patch)
treeb010d6b9ce270fa2c4e210534580378b5f1c11a7
parentd18255795bf98b3f25dbc5334b8a615943c3dcca (diff)
ACPICA: Enable auto-serialization as a default kernel behavior.
The previous commit "ACPICA: Add auto-serialization support for ill-behaved control methods" introduced the auto-serialization facility as a workaround that can be enabled by "acpi_auto_serialize": This feature marks control methods that create named objects as "serialized" to avoid unwanted AE_ALREADY_EXISTS control method evaluation failures. Enable method auto-serialization as the default kernel behavior. The new kernel parameter is also changed from "acpi_auto_serialize" to "acpi_no_auto_serialize" to reflect the default behavior. References: https://bugzilla.kernel.org/show_bug.cgi?id=52191 References: http://www.spinics.net/lists/linux-acpi/msg49496.html Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--Documentation/kernel-parameters.txt8
-rw-r--r--drivers/acpi/acpica/acglobal.h2
-rw-r--r--drivers/acpi/osl.c12
3 files changed, 11 insertions, 11 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index a159537ea880..91f0be8555f5 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -229,13 +229,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
use by PCI
Format: <irq>,<irq>...
- acpi_auto_serialize [HW,ACPI]
- Enable auto-serialization of AML methods
+ acpi_no_auto_serialize [HW,ACPI]
+ Disable auto-serialization of AML methods
AML control methods that contain the opcodes to create
named objects will be marked as "Serialized" by the
auto-serialization feature.
- This feature is disabled by default.
- This option allows to turn on the feature.
+ This feature is enabled by default.
+ This option allows to turn off the feature.
acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index ea0f8389ccde..49bbc71fad54 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -99,7 +99,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_enable_interpreter_slack, FALSE);
* that create named objects are marked Serialized in order to prevent
* possible run-time problems if they are entered by more than one thread.
*/
-ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, FALSE);
+ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, TRUE);
/*
* Create the predefined _OSI method in the namespace? Default is TRUE
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 74a160cf85b9..a3109ffcfa98 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -1540,20 +1540,20 @@ static int __init osi_setup(char *str)
__setup("acpi_osi=", osi_setup);
/*
- * Enable the auto-serialization of named objects creation methods.
+ * Disable the auto-serialization of named objects creation methods.
*
- * This feature is disabled by default. It marks the AML control methods
+ * This feature is enabled by default. It marks the AML control methods
* that contain the opcodes to create named objects as "Serialized".
*/
-static int __init acpi_auto_serialize_setup(char *str)
+static int __init acpi_no_auto_serialize_setup(char *str)
{
- acpi_gbl_auto_serialize_methods = TRUE;
- pr_info("ACPI: auto-serialization enabled\n");
+ acpi_gbl_auto_serialize_methods = FALSE;
+ pr_info("ACPI: auto-serialization disabled\n");
return 1;
}
-__setup("acpi_auto_serialize", acpi_auto_serialize_setup);
+__setup("acpi_no_auto_serialize", acpi_no_auto_serialize_setup);
/* Check of resource interference between native drivers and ACPI
* OperationRegions (SystemIO and System Memory only).