diff options
Diffstat (limited to 'drivers/acpi/include')
| -rw-r--r-- | drivers/acpi/include/accommon.h | 61 | ||||
| -rw-r--r-- | drivers/acpi/include/acconfig.h | 9 | ||||
| -rw-r--r-- | drivers/acpi/include/acdebug.h | 7 | ||||
| -rw-r--r-- | drivers/acpi/include/acgcc.h | 8 | ||||
| -rw-r--r-- | drivers/acpi/include/acinterp.h | 8 | ||||
| -rw-r--r-- | drivers/acpi/include/aclinux.h | 12 | ||||
| -rw-r--r-- | drivers/acpi/include/aclocal.h | 21 | ||||
| -rw-r--r-- | drivers/acpi/include/acnamesp.h | 9 | ||||
| -rw-r--r-- | drivers/acpi/include/acoutput.h | 3 | ||||
| -rw-r--r-- | drivers/acpi/include/actypes.h | 23 |
10 files changed, 110 insertions, 51 deletions
diff --git a/drivers/acpi/include/accommon.h b/drivers/acpi/include/accommon.h index 61d54a220dcc..feeeef818907 100644 --- a/drivers/acpi/include/accommon.h +++ b/drivers/acpi/include/accommon.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: accommon.h -- prototypes for the common (subsystem-wide) procedures - * $Revision: 87 $ + * $Revision: 90 $ * *****************************************************************************/ @@ -27,6 +27,30 @@ #define _ACCOMMON_H +typedef +ACPI_STATUS (*ACPI_PKG_CALLBACK) ( + u8 object_type, + ACPI_OPERAND_OBJECT *source_object, + ACPI_GENERIC_STATE *state, + void *context); + + +ACPI_STATUS +acpi_cm_walk_package_tree ( + ACPI_OPERAND_OBJECT *source_object, + void *target_object, + ACPI_PKG_CALLBACK walk_callback, + void *context); + + +typedef struct acpi_pkg_info +{ + u8 *free_space; + u32 length; + u32 object_space; + u32 num_packages; +} ACPI_PKG_INFO; + #define REF_INCREMENT (u16) 0 #define REF_DECREMENT (u16) 1 #define REF_FORCE_DELETE (u16) 2 @@ -194,29 +218,30 @@ acpi_cm_build_package_object ( u32 *space_used); ACPI_STATUS -acpi_cm_build_external_object ( +acpi_cm_copy_iobject_to_eobject ( ACPI_OPERAND_OBJECT *obj, ACPI_BUFFER *ret_buffer); ACPI_STATUS -acpi_cm_build_internal_simple_object( +acpi_cm_copy_esimple_to_isimple( ACPI_OBJECT *user_obj, ACPI_OPERAND_OBJECT *obj); ACPI_STATUS -acpi_cm_build_internal_object ( +acpi_cm_copy_eobject_to_iobject ( ACPI_OBJECT *obj, ACPI_OPERAND_OBJECT *internal_obj); ACPI_STATUS -acpi_cm_copy_internal_simple_object ( +acpi_cm_copy_isimple_to_isimple ( ACPI_OPERAND_OBJECT *source_obj, ACPI_OPERAND_OBJECT *dest_obj); ACPI_STATUS -acpi_cm_build_copy_internal_package_object ( +acpi_cm_copy_ipackage_to_ipackage ( ACPI_OPERAND_OBJECT *source_obj, - ACPI_OPERAND_OBJECT *dest_obj); + ACPI_OPERAND_OBJECT *dest_obj, + ACPI_WALK_STATE *walk_state); /* @@ -526,12 +551,25 @@ acpi_cm_create_update_state ( ACPI_OPERAND_OBJECT *object, u16 action); +ACPI_GENERIC_STATE * +acpi_cm_create_pkg_state ( + void *internal_object, + void *external_object, + u16 index); + ACPI_STATUS acpi_cm_create_update_state_and_push ( ACPI_OPERAND_OBJECT *object, u16 action, ACPI_GENERIC_STATE **state_list); +ACPI_STATUS +acpi_cm_create_pkg_state_and_push ( + void *internal_object, + void *external_object, + u16 index, + ACPI_GENERIC_STATE **state_list); + ACPI_GENERIC_STATE * acpi_cm_create_control_state ( void); @@ -564,6 +602,15 @@ ACPI_STATUS acpi_cm_resolve_package_references ( ACPI_OPERAND_OBJECT *obj_desc); +#ifdef ACPI_DEBUG + +void +acpi_cm_display_init_pathname ( + ACPI_HANDLE obj_handle, + char *path); + +#endif + /* * Memory allocation functions and related macros. diff --git a/drivers/acpi/include/acconfig.h b/drivers/acpi/include/acconfig.h index ea9be649d745..e45c17db84b3 100644 --- a/drivers/acpi/include/acconfig.h +++ b/drivers/acpi/include/acconfig.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acconfig.h - Global configuration constants - * $Revision: 53 $ + * $Revision: 55 $ * *****************************************************************************/ @@ -53,7 +53,7 @@ /* Version string */ -#define ACPI_CA_VERSION 0x20010125 +#define ACPI_CA_VERSION 0x20010208 /* Maximum objects in the various object caches */ @@ -149,10 +149,5 @@ #define RSDP_SCAN_STEP 16 -/* Maximum nesting of package objects */ - -#define MAX_PACKAGE_DEPTH 16 - - #endif /* _ACCONFIG_H */ diff --git a/drivers/acpi/include/acdebug.h b/drivers/acpi/include/acdebug.h index f1fa7094ef18..d645cceb7c8c 100644 --- a/drivers/acpi/include/acdebug.h +++ b/drivers/acpi/include/acdebug.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acdebug.h - ACPI/AML debugger - * $Revision: 39 $ + * $Revision: 41 $ * *****************************************************************************/ @@ -43,6 +43,7 @@ extern u8 opt_disasm; extern u8 opt_stats; extern u8 opt_parse_jit; extern u8 opt_verbose; +extern u8 opt_ini_methods; extern NATIVE_CHAR *args[DB_MAX_ARGS]; @@ -198,6 +199,10 @@ void acpi_db_find_references ( NATIVE_CHAR *object_arg); +void +acpi_db_display_resources ( + NATIVE_CHAR *object_arg); + /* * dbdisasm - AML disassembler diff --git a/drivers/acpi/include/acgcc.h b/drivers/acpi/include/acgcc.h index 82b1e5139a99..d92af99d6aa8 100644 --- a/drivers/acpi/include/acgcc.h +++ b/drivers/acpi/include/acgcc.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acgcc.h - GCC specific defines, etc. - * $Revision: 4 $ + * $Revision: 5 $ * *****************************************************************************/ @@ -26,12 +26,11 @@ #ifndef __ACGCC_H__ #define __ACGCC_H__ -#define COMPILER_DEPENDENT_UINT64 unsigned long long - #ifdef __ia64__ #define _IA64 +#define COMPILER_DEPENDENT_UINT64 unsigned long /* Single threaded */ #define ACPI_APPLICATION @@ -95,8 +94,7 @@ #else /* DO IA32 */ - - +#define COMPILER_DEPENDENT_UINT64 unsigned long long #define ACPI_ASM_MACROS #define causeinterrupt(level) #define BREAKPOINT3 diff --git a/drivers/acpi/include/acinterp.h b/drivers/acpi/include/acinterp.h index 6eb571e5fae0..94d739a07876 100644 --- a/drivers/acpi/include/acinterp.h +++ b/drivers/acpi/include/acinterp.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acinterp.h - Interpreter subcomponent prototypes and defines - * $Revision: 91 $ + * $Revision: 92 $ * *****************************************************************************/ @@ -558,12 +558,6 @@ acpi_aml_unsigned_integer_to_string ( ACPI_INTEGER value, NATIVE_CHAR *out_string); -ACPI_STATUS -acpi_aml_build_copy_internal_package_object ( - ACPI_OPERAND_OBJECT *source_obj, - ACPI_OPERAND_OBJECT *dest_obj, - ACPI_WALK_STATE *walk_state); - /* * amregion - default Op_region handlers diff --git a/drivers/acpi/include/aclinux.h b/drivers/acpi/include/aclinux.h index 0cf0e2845519..f86c83239823 100644 --- a/drivers/acpi/include/aclinux.h +++ b/drivers/acpi/include/aclinux.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: aclinux.h - OS specific defines, etc. - * $Revision: 7 $ + * $Revision: 9 $ * *****************************************************************************/ @@ -26,14 +26,15 @@ #ifndef __ACLINUX_H__ #define __ACLINUX_H__ - #define ACPI_OS_NAME "Linux" +#include <linux/config.h> #include <linux/string.h> #include <linux/kernel.h> #include <linux/ctype.h> #include <asm/system.h> #include <asm/atomic.h> +#include <asm/div64.h> /* Linux uses GCC */ @@ -42,9 +43,14 @@ #undef DEBUGGER_THREADING #define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED -/* Linux ia32 can't do int64 well */ #ifndef _IA64 +/* Linux ia32 can't do int64 well */ #define ACPI_NO_INTEGER64_SUPPORT +/* And the ia32 kernel doesn't include 64-bit divide support */ +#define ACPI_DIV64(dividend, divisor) do_div(dividend, divisor) +#else +#define ACPI_DIV64(dividend, divisor) ACPI_DIVIDE(dividend, divisor) #endif + #endif /* __ACLINUX_H__ */ diff --git a/drivers/acpi/include/aclocal.h b/drivers/acpi/include/aclocal.h index 2d931387ed90..d3ea8a429a23 100644 --- a/drivers/acpi/include/aclocal.h +++ b/drivers/acpi/include/aclocal.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: aclocal.h - Internal data types used across the ACPI subsystem - * $Revision: 100 $ + * $Revision: 104 $ * *****************************************************************************/ @@ -368,6 +368,23 @@ typedef struct acpi_update_state } ACPI_UPDATE_STATE; + +/* + * Pkg state - used to traverse nested package structures + */ +typedef struct acpi_pkg_state +{ + ACPI_STATE_COMMON + union acpi_operand_obj *source_object; + union acpi_operand_obj *dest_object; + struct acpi_walk_state *walk_state; + void *this_target_obj; + u32 num_packages; + u16 index; + +} ACPI_PKG_STATE; + + /* * Control state - one per if/else and while constructs. * Allows nesting of these constructs @@ -428,6 +445,7 @@ typedef union acpi_gen_state ACPI_UPDATE_STATE update; ACPI_SCOPE_STATE scope; ACPI_PSCOPE_STATE parse_scope; + ACPI_PKG_STATE pkg; ACPI_RESULT_VALUES results; } ACPI_GENERIC_STATE; @@ -650,7 +668,6 @@ typedef struct acpi_init_walk_info typedef struct acpi_device_walk_info { - u32 flags; u16 device_count; u16 num_STA; u16 num_INI; diff --git a/drivers/acpi/include/acnamesp.h b/drivers/acpi/include/acnamesp.h index d6acb8444344..a8ef1e0d7fa1 100644 --- a/drivers/acpi/include/acnamesp.h +++ b/drivers/acpi/include/acnamesp.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acnamesp.h - Namespace subcomponent prototypes and defines - * $Revision: 101 $ + * $Revision: 103 $ * *****************************************************************************/ @@ -72,7 +72,7 @@ acpi_ns_initialize_objects ( ACPI_STATUS acpi_ns_initialize_devices ( - u32 flags); + void); /* Namespace init - nsxfinit */ @@ -317,6 +317,11 @@ acpi_ns_get_node ( ACPI_NAMESPACE_NODE *in_prefix_node, ACPI_NAMESPACE_NODE **out_node); +u32 +acpi_ns_get_pathname_length ( + ACPI_NAMESPACE_NODE *node); + + /* * Object management for NTEs - nsobject */ diff --git a/drivers/acpi/include/acoutput.h b/drivers/acpi/include/acoutput.h index 5c20943cba89..6939d9e7e04b 100644 --- a/drivers/acpi/include/acoutput.h +++ b/drivers/acpi/include/acoutput.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: acoutput.h -- debug output - * $Revision: 69 $ + * $Revision: 70 $ * *****************************************************************************/ @@ -96,6 +96,7 @@ #define TRACE_USER_REQUESTS 0x01000000 #define TRACE_PACKAGE 0x02000000 #define TRACE_MUTEX 0x04000000 +#define TRACE_INIT 0x08000000 #define TRACE_ALL 0x0FFFFF00 diff --git a/drivers/acpi/include/actypes.h b/drivers/acpi/include/actypes.h index 826fc89018ad..b5bbe9619fd7 100644 --- a/drivers/acpi/include/actypes.h +++ b/drivers/acpi/include/actypes.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: actypes.h - Common data types for the entire ACPI subsystem - * $Revision: 163 $ + * $Revision: 165 $ * *****************************************************************************/ @@ -237,8 +237,7 @@ typedef UINT64 ACPI_INTEGER; #define ACPI_NO_EVENT_INIT 0x04 #define ACPI_NO_ACPI_ENABLE 0x08 #define ACPI_NO_DEVICE_INIT 0x10 -#define ACPI_NO_PCI_INIT 0x20 -#define ACPI_NO_OBJECT_INIT 0x40 +#define ACPI_NO_OBJECT_INIT 0x20 /* @@ -1029,22 +1028,14 @@ typedef struct _resource_tag * END: Definitions for Resource Attributes */ -/* - * Definitions for PCI Routing tables - */ -typedef struct -{ - ACPI_INTEGER address; - u32 pin; - u32 source_index; - NATIVE_CHAR source[1]; - -} PRT_ENTRY; -typedef struct _prt_tag +typedef struct pci_routing_table { u32 length; - PRT_ENTRY data; + u32 pin; + ACPI_INTEGER address; /* here for 64-bit alignment */ + u32 source_index; + NATIVE_CHAR source[4]; /* pad to 64 bits so sizeof() works in all cases */ } PCI_ROUTING_TABLE; |
