summaryrefslogtreecommitdiff
path: root/include/acpi
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2005-09-02 17:24:17 -0400
committerLen Brown <len.brown@intel.com>2005-09-03 00:15:11 -0400
commitaff8c2777d1a9edf97f26bf60579f9c931443eb1 (patch)
treefcd5bfe84e0e3aeb328d60ec41776522b9b7d122 /include/acpi
parenta94f18810f52d3a6de0a09bee0c7258b62eca262 (diff)
downloadlinux-3.10-aff8c2777d1a9edf97f26bf60579f9c931443eb1.tar.gz
linux-3.10-aff8c2777d1a9edf97f26bf60579f9c931443eb1.tar.bz2
linux-3.10-aff8c2777d1a9edf97f26bf60579f9c931443eb1.zip
[ACPI] ACPICA 20050902
Fixed a problem with the internal Owner ID allocation and deallocation mechanisms for control method execution and recursive method invocation. This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId" messages seen on some systems. Recursive method invocation depth is currently limited to 255. (Alexey Starikovskiy) http://bugzilla.kernel.org/show_bug.cgi?id=4892 Completely eliminated all vestiges of support for the "module-level executable code" until this support is fully implemented and debugged. This should eliminate the NO_RETURN_VALUE exceptions seen during table load on some systems that invoke this support. http://bugzilla.kernel.org/show_bug.cgi?id=5162 Fixed a problem within the resource manager code where the transaction flags for a 64-bit address descriptor were handled incorrectly in the type-specific flag byte. Consolidated duplicate code within the address descriptor resource manager code, reducing overall subsystem code size. Signed-off-by: Robert Moore <Robert.Moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acconfig.h2
-rw-r--r--include/acpi/acdispat.h3
-rw-r--r--include/acpi/actypes.h38
3 files changed, 19 insertions, 24 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 73c43a39663..427cff1a3f8 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -63,7 +63,7 @@
/* Version string */
-#define ACPI_CA_VERSION 0x20050815
+#define ACPI_CA_VERSION 0x20050902
/*
* OS name, used for the _OS object. The _OS object is essentially obsolete,
diff --git a/include/acpi/acdispat.h b/include/acpi/acdispat.h
index 59306186f5e..065f24a77cf 100644
--- a/include/acpi/acdispat.h
+++ b/include/acpi/acdispat.h
@@ -194,8 +194,7 @@ acpi_status
acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
union acpi_operand_object *return_desc);
-acpi_status
-acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state);
+void acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state);
acpi_status
acpi_ds_begin_method_execution(struct acpi_namespace_node *method_node,
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 254f4b06e7e..6213b27516e 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1074,14 +1074,21 @@ struct acpi_resource_source {
char *string_ptr;
};
+/* Fields common to all address descriptors, 16/32/64 bit */
+
+#define ACPI_RESOURCE_ADDRESS_COMMON \
+ u32 resource_type; \
+ u32 producer_consumer; \
+ u32 decode; \
+ u32 min_address_fixed; \
+ u32 max_address_fixed; \
+ union acpi_resource_attribute attribute;
+
+struct acpi_resource_address {
+ACPI_RESOURCE_ADDRESS_COMMON};
+
struct acpi_resource_address16 {
- u32 resource_type;
- u32 producer_consumer;
- u32 decode;
- u32 min_address_fixed;
- u32 max_address_fixed;
- union acpi_resource_attribute attribute;
- u32 granularity;
+ ACPI_RESOURCE_ADDRESS_COMMON u32 granularity;
u32 min_address_range;
u32 max_address_range;
u32 address_translation_offset;
@@ -1090,13 +1097,7 @@ struct acpi_resource_address16 {
};
struct acpi_resource_address32 {
- u32 resource_type;
- u32 producer_consumer;
- u32 decode;
- u32 min_address_fixed;
- u32 max_address_fixed;
- union acpi_resource_attribute attribute;
- u32 granularity;
+ ACPI_RESOURCE_ADDRESS_COMMON u32 granularity;
u32 min_address_range;
u32 max_address_range;
u32 address_translation_offset;
@@ -1105,13 +1106,7 @@ struct acpi_resource_address32 {
};
struct acpi_resource_address64 {
- u32 resource_type;
- u32 producer_consumer;
- u32 decode;
- u32 min_address_fixed;
- u32 max_address_fixed;
- union acpi_resource_attribute attribute;
- u64 granularity;
+ ACPI_RESOURCE_ADDRESS_COMMON u64 granularity;
u64 min_address_range;
u64 max_address_range;
u64 address_translation_offset;
@@ -1161,6 +1156,7 @@ union acpi_resource_data {
struct acpi_resource_mem24 memory24;
struct acpi_resource_mem32 memory32;
struct acpi_resource_fixed_mem32 fixed_memory32;
+ struct acpi_resource_address address; /* Common 16/32/64 address fields */
struct acpi_resource_address16 address16;
struct acpi_resource_address32 address32;
struct acpi_resource_address64 address64;