aboutsummaryrefslogtreecommitdiffstats
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
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.
229 use by PCI 229 use by PCI
230 Format: <irq>,<irq>... 230 Format: <irq>,<irq>...
231 231
232 acpi_auto_serialize [HW,ACPI] 232 acpi_no_auto_serialize [HW,ACPI]
233 Enable auto-serialization of AML methods 233 Disable auto-serialization of AML methods
234 AML control methods that contain the opcodes to create 234 AML control methods that contain the opcodes to create
235 named objects will be marked as "Serialized" by the 235 named objects will be marked as "Serialized" by the
236 auto-serialization feature. 236 auto-serialization feature.
237 This feature is disabled by default. 237 This feature is enabled by default.
238 This option allows to turn on the feature. 238 This option allows to turn off the feature.
239 239
240 acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT 240 acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
241 241
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).