aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2013-07-22 04:08:16 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-22 22:06:03 -0400
commit2cf9f5bcc8d8cb31d6ea7baebac5056f39fb4f40 (patch)
treef91ff2046741f8c88c257ad7969ff5bd38d4f9ae /include
parent53b1631e3a274f84686853fa2531d1aa918ee36c (diff)
ACPICA: Add acpi_update_interfaces() public interface
Add new API to allow OSPM to disable/enable specific types of _OSI interface strings. ACPICA does not have the knowledge about whether an _OSI interface string is an OS vendor string or a feature group string and there isn't any API interface to allow OSPM to install a new interface string as a feature group string. This patch simply adds all feature group strings defined by ACPI specification into the acpi_default_supported_interfaces with ACPI_OSI_FEATURE flag set to fix this gap. This patch also adds codes to keep their default states as ACPI_OSI_INVALID before the initialization and after the termination. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Reviewed-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Conflicts: include/acpi/actypes.h (with commit 242b228)
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpixf.h2
-rw-r--r--include/acpi/actypes.h14
2 files changed, 16 insertions, 0 deletions
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 292af0c0b896..0dd03f226a68 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -147,6 +147,8 @@ acpi_status acpi_install_interface(acpi_string interface_name);
147 147
148acpi_status acpi_remove_interface(acpi_string interface_name); 148acpi_status acpi_remove_interface(acpi_string interface_name);
149 149
150acpi_status acpi_update_interfaces(u8 action);
151
150u32 152u32
151acpi_check_address_range(acpi_adr_space_type space_id, 153acpi_check_address_range(acpi_adr_space_type space_id,
152 acpi_physical_address address, 154 acpi_physical_address address,
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 787a977ece9d..eae55fb74905 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1152,4 +1152,18 @@ struct acpi_memory_list {
1152#define ACPI_OSI_WIN_7 0x0B 1152#define ACPI_OSI_WIN_7 0x0B
1153#define ACPI_OSI_WIN_8 0x0C 1153#define ACPI_OSI_WIN_8 0x0C
1154 1154
1155/* _OSI update actions */
1156
1157#define ACPI_VENDOR_STRINGS 0x01
1158#define ACPI_FEATURE_STRINGS 0x02
1159#define ACPI_ENABLE_INTERFACES 0x00
1160#define ACPI_DISABLE_INTERFACES 0x04
1161
1162#define ACPI_DISABLE_ALL_VENDOR_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_VENDOR_STRINGS)
1163#define ACPI_DISABLE_ALL_FEATURE_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_FEATURE_STRINGS)
1164#define ACPI_DISABLE_ALL_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_VENDOR_STRINGS | ACPI_FEATURE_STRINGS)
1165#define ACPI_ENABLE_ALL_VENDOR_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_VENDOR_STRINGS)
1166#define ACPI_ENABLE_ALL_FEATURE_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_FEATURE_STRINGS)
1167#define ACPI_ENABLE_ALL_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_VENDOR_STRINGS | ACPI_FEATURE_STRINGS)
1168
1155#endif /* __ACTYPES_H__ */ 1169#endif /* __ACTYPES_H__ */