aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2010-08-05 21:35:51 -0400
committerLen Brown <len.brown@intel.com>2010-10-01 01:47:43 -0400
commitb0ed7a915abac309fcb5a51bccd3782e3daa7417 (patch)
tree0bffdd098549d61180e6959217c84a05dadb99fa /include/acpi
parent09387b43153953006471dbb06ece6bf779d10937 (diff)
ACPICA/ACPI: Add new host interfaces for _OSI support
Adds install/remove interfaces so that the host can dynamically alter the global _OSI table. Also adds support for _OSI handlers. Additional support: new debugger command (osi), and test support in the acpiexec utility. Adds new file, utilities/utosi.c. ACPICA bugzilla 836. The Linux OSL _OSI code is also changed. acpi_osi_setup can't call acpi_install/remove_interface because ACPICA is not initialized yet at this early time. So we just save the osi string in acpi_osi_setup and will handle it later in a new function acpi_osi_setup_late. http://www.acpica.org/bugzilla/show_bug.cgi?id=836 Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acpiosxf.h3
-rw-r--r--include/acpi/acpixf.h6
-rw-r--r--include/acpi/actypes.h3
3 files changed, 9 insertions, 3 deletions
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index 5e2257796448..c29b0afc651a 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -239,9 +239,6 @@ acpi_os_derive_pci_id(acpi_handle device,
239/* 239/*
240 * Miscellaneous 240 * Miscellaneous
241 */ 241 */
242acpi_status acpi_os_validate_interface(char *interface);
243acpi_status acpi_osi_invalidate(char* interface);
244
245acpi_status 242acpi_status
246acpi_os_validate_address(u8 space_id, acpi_physical_address address, 243acpi_os_validate_address(u8 space_id, acpi_physical_address address,
247 acpi_size length, char *name); 244 acpi_size length, char *name);
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index c0786d446a00..e4d6cc8074e4 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -105,6 +105,10 @@ const char *acpi_format_exception(acpi_status exception);
105 105
106acpi_status acpi_purge_cached_objects(void); 106acpi_status acpi_purge_cached_objects(void);
107 107
108acpi_status acpi_install_interface(acpi_string interface_name);
109
110acpi_status acpi_remove_interface(acpi_string interface_name);
111
108/* 112/*
109 * ACPI Memory management 113 * ACPI Memory management
110 */ 114 */
@@ -263,6 +267,8 @@ acpi_remove_gpe_handler(acpi_handle gpe_device,
263acpi_status acpi_install_exception_handler(acpi_exception_handler handler); 267acpi_status acpi_install_exception_handler(acpi_exception_handler handler);
264#endif 268#endif
265 269
270acpi_status acpi_install_interface_handler(acpi_interface_handler handler);
271
266/* 272/*
267 * Event interfaces 273 * Event interfaces
268 */ 274 */
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 5db8f472fec9..332d076f3f10 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -950,6 +950,9 @@ acpi_status(*acpi_walk_callback) (acpi_handle object,
950 u32 nesting_level, 950 u32 nesting_level,
951 void *context, void **return_value); 951 void *context, void **return_value);
952 952
953typedef
954u32 (*acpi_interface_handler) (acpi_string interface_name, u32 supported);
955
953/* Interrupt handler return values */ 956/* Interrupt handler return values */
954 957
955#define ACPI_INTERRUPT_NOT_HANDLED 0x00 958#define ACPI_INTERRUPT_NOT_HANDLED 0x00