summaryrefslogtreecommitdiff
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2013-07-22 08:08:36 (GMT)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-23 02:07:04 (GMT)
commit741d81280ad2b31fc3d76c49fa5c1fe09f3a6f68 (patch)
treef268f5301d15f1879007788917aa9aaa7ef04cdc /drivers/acpi/osl.c
parent5dc17986fdc3d2425838cb8d699152c3c30d1208 (diff)
downloadlinux-741d81280ad2b31fc3d76c49fa5c1fe09f3a6f68.tar.xz
ACPI: Add facility to remove all _OSI strings
This patch changes the "acpi_osi=" boot parameter implementation so that: 1. "acpi_osi=!" can be used to disable all _OSI OS vendor strings by default. It is meaningless to specify "acpi_osi=!" multiple times as it can only affect the default state of the target _OSI strings. 2. "acpi_osi=!*" can be used to remove all _OSI OS vendor strings and all _OSI feature group strings. It is useful to specify "acpi_osi=!*" multiple times through kernel command line to override the current state of the target _OSI strings. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Reviewed-by: Zhang Rui <rui.zhang@intel.com> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r--drivers/acpi/osl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index e8baa40..cc1ed12 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -1380,6 +1380,13 @@ void __init acpi_osi_setup(char *str)
if (*str == '\0') {
osi_linux.default_disabling = 1;
return;
+ } else if (*str == '*') {
+ acpi_update_interfaces(ACPI_DISABLE_ALL_STRINGS);
+ for (i = 0; i < OSI_STRING_ENTRIES_MAX; i++) {
+ osi = &osi_setup_entries[i];
+ osi->enable = false;
+ }
+ return;
}
enable = false;
}