aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2014-03-24 02:49:22 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-03-26 11:26:00 -0400
commit08e1d7c0290aaef6bc6d68be8df753ffec02a6ae (patch)
treeb010d6b9ce270fa2c4e210534580378b5f1c11a7 /drivers/acpi
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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/acpica/acglobal.h2
-rw-r--r--drivers/acpi/osl.c12
2 files changed, 7 insertions, 7 deletions
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);
99 * that create named objects are marked Serialized in order to prevent 99 * that create named objects are marked Serialized in order to prevent
100 * possible run-time problems if they are entered by more than one thread. 100 * possible run-time problems if they are entered by more than one thread.
101 */ 101 */
102ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, FALSE); 102ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, TRUE);
103 103
104/* 104/*
105 * Create the predefined _OSI method in the namespace? Default is TRUE 105 * 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)
1540__setup("acpi_osi=", osi_setup); 1540__setup("acpi_osi=", osi_setup);
1541 1541
1542/* 1542/*
1543 * Enable the auto-serialization of named objects creation methods. 1543 * Disable the auto-serialization of named objects creation methods.
1544 * 1544 *
1545 * This feature is disabled by default. It marks the AML control methods 1545 * This feature is enabled by default. It marks the AML control methods
1546 * that contain the opcodes to create named objects as "Serialized". 1546 * that contain the opcodes to create named objects as "Serialized".
1547 */ 1547 */
1548static int __init acpi_auto_serialize_setup(char *str) 1548static int __init acpi_no_auto_serialize_setup(char *str)
1549{ 1549{
1550 acpi_gbl_auto_serialize_methods = TRUE; 1550 acpi_gbl_auto_serialize_methods = FALSE;
1551 pr_info("ACPI: auto-serialization enabled\n"); 1551 pr_info("ACPI: auto-serialization disabled\n");
1552 1552
1553 return 1; 1553 return 1;
1554} 1554}
1555 1555
1556__setup("acpi_auto_serialize", acpi_auto_serialize_setup); 1556__setup("acpi_no_auto_serialize", acpi_no_auto_serialize_setup);
1557 1557
1558/* Check of resource interference between native drivers and ACPI 1558/* Check of resource interference between native drivers and ACPI
1559 * OperationRegions (SystemIO and System Memory only). 1559 * OperationRegions (SystemIO and System Memory only).