| /****************************************************************************** | 
 |  * | 
 |  * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures | 
 |  * | 
 |  *****************************************************************************/ | 
 |  | 
 | /* | 
 |  * Copyright (C) 2000 - 2005, R. Byron Moore | 
 |  * All rights reserved. | 
 |  * | 
 |  * Redistribution and use in source and binary forms, with or without | 
 |  * modification, are permitted provided that the following conditions | 
 |  * are met: | 
 |  * 1. Redistributions of source code must retain the above copyright | 
 |  *    notice, this list of conditions, and the following disclaimer, | 
 |  *    without modification. | 
 |  * 2. Redistributions in binary form must reproduce at minimum a disclaimer | 
 |  *    substantially similar to the "NO WARRANTY" disclaimer below | 
 |  *    ("Disclaimer") and any redistribution must be conditioned upon | 
 |  *    including a substantially similar Disclaimer requirement for further | 
 |  *    binary redistribution. | 
 |  * 3. Neither the names of the above-listed copyright holders nor the names | 
 |  *    of any contributors may be used to endorse or promote products derived | 
 |  *    from this software without specific prior written permission. | 
 |  * | 
 |  * Alternatively, this software may be distributed under the terms of the | 
 |  * GNU General Public License ("GPL") version 2 as published by the Free | 
 |  * Software Foundation. | 
 |  * | 
 |  * NO WARRANTY | 
 |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
 |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
 |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | 
 |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
 |  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
 |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 
 |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
 |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 
 |  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | 
 |  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 
 |  * POSSIBILITY OF SUCH DAMAGES. | 
 |  */ | 
 |  | 
 | #ifndef _ACUTILS_H | 
 | #define _ACUTILS_H | 
 |  | 
 |  | 
 | typedef | 
 | acpi_status (*acpi_pkg_callback) ( | 
 | 	u8                              object_type, | 
 | 	union acpi_operand_object       *source_object, | 
 | 	union acpi_generic_state        *state, | 
 | 	void                            *context); | 
 |  | 
 | struct acpi_pkg_info | 
 | { | 
 | 	u8                              *free_space; | 
 | 	acpi_size                       length; | 
 | 	u32                             object_space; | 
 | 	u32                             num_packages; | 
 | }; | 
 |  | 
 | #define REF_INCREMENT       (u16) 0 | 
 | #define REF_DECREMENT       (u16) 1 | 
 | #define REF_FORCE_DELETE    (u16) 2 | 
 |  | 
 | /* acpi_ut_dump_buffer */ | 
 |  | 
 | #define DB_BYTE_DISPLAY     1 | 
 | #define DB_WORD_DISPLAY     2 | 
 | #define DB_DWORD_DISPLAY    4 | 
 | #define DB_QWORD_DISPLAY    8 | 
 |  | 
 |  | 
 | /* | 
 |  * utglobal - Global data structures and procedures | 
 |  */ | 
 | void | 
 | acpi_ut_init_globals ( | 
 | 	void); | 
 |  | 
 | #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) | 
 |  | 
 | char * | 
 | acpi_ut_get_mutex_name ( | 
 | 	u32                             mutex_id); | 
 |  | 
 | #endif | 
 |  | 
 | char * | 
 | acpi_ut_get_type_name ( | 
 | 	acpi_object_type                type); | 
 |  | 
 | char * | 
 | acpi_ut_get_node_name ( | 
 | 	void                            *object); | 
 |  | 
 | char * | 
 | acpi_ut_get_descriptor_name ( | 
 | 	void                            *object); | 
 |  | 
 | char * | 
 | acpi_ut_get_object_type_name ( | 
 | 	union acpi_operand_object       *obj_desc); | 
 |  | 
 | char * | 
 | acpi_ut_get_region_name ( | 
 | 	u8                              space_id); | 
 |  | 
 | char * | 
 | acpi_ut_get_event_name ( | 
 | 	u32                             event_id); | 
 |  | 
 | char | 
 | acpi_ut_hex_to_ascii_char ( | 
 | 	acpi_integer                    integer, | 
 | 	u32                             position); | 
 |  | 
 | u8 | 
 | acpi_ut_valid_object_type ( | 
 | 	acpi_object_type                type); | 
 |  | 
 | acpi_owner_id | 
 | acpi_ut_allocate_owner_id ( | 
 | 	u32                             id_type); | 
 |  | 
 |  | 
 | /* | 
 |  * utinit - miscellaneous initialization and shutdown | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_hardware_initialize ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_subsystem_shutdown ( | 
 | 	void); | 
 |  | 
 | acpi_status | 
 | acpi_ut_validate_fadt ( | 
 | 	void); | 
 |  | 
 |  | 
 | /* | 
 |  * utclib - Local implementations of C library functions | 
 |  */ | 
 | #ifndef ACPI_USE_SYSTEM_CLIBRARY | 
 |  | 
 | acpi_size | 
 | acpi_ut_strlen ( | 
 | 	const char                      *string); | 
 |  | 
 | char * | 
 | acpi_ut_strcpy ( | 
 | 	char                            *dst_string, | 
 | 	const char                      *src_string); | 
 |  | 
 | char * | 
 | acpi_ut_strncpy ( | 
 | 	char                            *dst_string, | 
 | 	const char                      *src_string, | 
 | 	acpi_size                       count); | 
 |  | 
 | int | 
 | acpi_ut_memcmp ( | 
 | 	const char                      *buffer1, | 
 | 	const char                      *buffer2, | 
 | 	acpi_size                       count); | 
 |  | 
 | int | 
 | acpi_ut_strncmp ( | 
 | 	const char                      *string1, | 
 | 	const char                      *string2, | 
 | 	acpi_size                       count); | 
 |  | 
 | int | 
 | acpi_ut_strcmp ( | 
 | 	const char                      *string1, | 
 | 	const char                      *string2); | 
 |  | 
 | char * | 
 | acpi_ut_strcat ( | 
 | 	char                            *dst_string, | 
 | 	const char                      *src_string); | 
 |  | 
 | char * | 
 | acpi_ut_strncat ( | 
 | 	char                            *dst_string, | 
 | 	const char                      *src_string, | 
 | 	acpi_size                       count); | 
 |  | 
 | u32 | 
 | acpi_ut_strtoul ( | 
 | 	const char                      *string, | 
 | 	char                            **terminator, | 
 | 	u32                             base); | 
 |  | 
 | char * | 
 | acpi_ut_strstr ( | 
 | 	char                            *string1, | 
 | 	char                            *string2); | 
 |  | 
 | void * | 
 | acpi_ut_memcpy ( | 
 | 	void                            *dest, | 
 | 	const void                      *src, | 
 | 	acpi_size                       count); | 
 |  | 
 | void * | 
 | acpi_ut_memset ( | 
 | 	void                            *dest, | 
 | 	acpi_native_uint                value, | 
 | 	acpi_size                       count); | 
 |  | 
 | int | 
 | acpi_ut_to_upper ( | 
 | 	int                             c); | 
 |  | 
 | int | 
 | acpi_ut_to_lower ( | 
 | 	int                             c); | 
 |  | 
 | extern const u8 _acpi_ctype[]; | 
 |  | 
 | #define _ACPI_XA     0x00    /* extra alphabetic - not supported */ | 
 | #define _ACPI_XS     0x40    /* extra space */ | 
 | #define _ACPI_BB     0x00    /* BEL, BS, etc. - not supported */ | 
 | #define _ACPI_CN     0x20    /* CR, FF, HT, NL, VT */ | 
 | #define _ACPI_DI     0x04    /* '0'-'9' */ | 
 | #define _ACPI_LO     0x02    /* 'a'-'z' */ | 
 | #define _ACPI_PU     0x10    /* punctuation */ | 
 | #define _ACPI_SP     0x08    /* space */ | 
 | #define _ACPI_UP     0x01    /* 'A'-'Z' */ | 
 | #define _ACPI_XD     0x80    /* '0'-'9', 'A'-'F', 'a'-'f' */ | 
 |  | 
 | #define ACPI_IS_DIGIT(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_DI)) | 
 | #define ACPI_IS_SPACE(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_SP)) | 
 | #define ACPI_IS_XDIGIT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_XD)) | 
 | #define ACPI_IS_UPPER(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_UP)) | 
 | #define ACPI_IS_LOWER(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO)) | 
 | #define ACPI_IS_PRINT(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP | _ACPI_DI | _ACPI_SP | _ACPI_PU)) | 
 | #define ACPI_IS_ALPHA(c)  (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP)) | 
 | #define ACPI_IS_ASCII(c)  ((c) < 0x80) | 
 |  | 
 | #endif /* ACPI_USE_SYSTEM_CLIBRARY */ | 
 |  | 
 |  | 
 | /* | 
 |  * utcopy - Object construction and conversion interfaces | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_build_simple_object( | 
 | 	union acpi_operand_object       *obj, | 
 | 	union acpi_object               *user_obj, | 
 | 	u8                              *data_space, | 
 | 	u32                             *buffer_space_used); | 
 |  | 
 | acpi_status | 
 | acpi_ut_build_package_object ( | 
 | 	union acpi_operand_object       *obj, | 
 | 	u8                              *buffer, | 
 | 	u32                             *space_used); | 
 |  | 
 | acpi_status | 
 | acpi_ut_copy_iobject_to_eobject ( | 
 | 	union acpi_operand_object       *obj, | 
 | 	struct acpi_buffer              *ret_buffer); | 
 |  | 
 | acpi_status | 
 | acpi_ut_copy_eobject_to_iobject ( | 
 | 	union acpi_object               *obj, | 
 | 	union acpi_operand_object       **internal_obj); | 
 |  | 
 | acpi_status | 
 | acpi_ut_copy_isimple_to_isimple ( | 
 | 	union acpi_operand_object       *source_obj, | 
 | 	union acpi_operand_object       *dest_obj); | 
 |  | 
 | acpi_status | 
 | acpi_ut_copy_iobject_to_iobject ( | 
 | 	union acpi_operand_object       *source_desc, | 
 | 	union acpi_operand_object       **dest_desc, | 
 | 	struct acpi_walk_state          *walk_state); | 
 |  | 
 |  | 
 | /* | 
 |  * utcreate - Object creation | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_update_object_reference ( | 
 | 	union acpi_operand_object       *object, | 
 | 	u16                             action); | 
 |  | 
 |  | 
 | /* | 
 |  * utdebug - Debug interfaces | 
 |  */ | 
 | void | 
 | acpi_ut_init_stack_ptr_trace ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_track_stack_ptr ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_trace ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info); | 
 |  | 
 | void | 
 | acpi_ut_trace_ptr ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	void                            *pointer); | 
 |  | 
 | void | 
 | acpi_ut_trace_u32 ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	u32                             integer); | 
 |  | 
 | void | 
 | acpi_ut_trace_str ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	char                            *string); | 
 |  | 
 | void | 
 | acpi_ut_exit ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info); | 
 |  | 
 | void | 
 | acpi_ut_status_exit ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	acpi_status                     status); | 
 |  | 
 | void | 
 | acpi_ut_value_exit ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	acpi_integer                    value); | 
 |  | 
 | void | 
 | acpi_ut_ptr_exit ( | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	u8                              *ptr); | 
 |  | 
 | void | 
 | acpi_ut_report_info ( | 
 | 	char                            *module_name, | 
 | 	u32                             line_number, | 
 | 	u32                             component_id); | 
 |  | 
 | void | 
 | acpi_ut_report_error ( | 
 | 	char                            *module_name, | 
 | 	u32                             line_number, | 
 | 	u32                             component_id); | 
 |  | 
 | void | 
 | acpi_ut_report_warning ( | 
 | 	char                            *module_name, | 
 | 	u32                             line_number, | 
 | 	u32                             component_id); | 
 |  | 
 | void | 
 | acpi_ut_dump_buffer ( | 
 | 	u8                              *buffer, | 
 | 	u32                             count, | 
 | 	u32                             display, | 
 | 	u32                             component_id); | 
 |  | 
 | void ACPI_INTERNAL_VAR_XFACE | 
 | acpi_ut_debug_print ( | 
 | 	u32                             requested_debug_level, | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	char                            *format, | 
 | 	...) ACPI_PRINTF_LIKE_FUNC; | 
 |  | 
 | void ACPI_INTERNAL_VAR_XFACE | 
 | acpi_ut_debug_print_raw ( | 
 | 	u32                             requested_debug_level, | 
 | 	u32                             line_number, | 
 | 	struct acpi_debug_print_info    *dbg_info, | 
 | 	char                            *format, | 
 | 	...) ACPI_PRINTF_LIKE_FUNC; | 
 |  | 
 |  | 
 | /* | 
 |  * utdelete - Object deletion and reference counts | 
 |  */ | 
 | void | 
 | acpi_ut_add_reference ( | 
 | 	union acpi_operand_object       *object); | 
 |  | 
 | void | 
 | acpi_ut_remove_reference ( | 
 | 	union acpi_operand_object       *object); | 
 |  | 
 | void | 
 | acpi_ut_delete_internal_package_object ( | 
 | 	union acpi_operand_object       *object); | 
 |  | 
 | void | 
 | acpi_ut_delete_internal_simple_object ( | 
 | 	union acpi_operand_object       *object); | 
 |  | 
 | void | 
 | acpi_ut_delete_internal_object_list ( | 
 | 	union acpi_operand_object       **obj_list); | 
 |  | 
 |  | 
 | /* | 
 |  * uteval - object evaluation | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_osi_implementation ( | 
 | 	struct acpi_walk_state          *walk_state); | 
 |  | 
 | acpi_status | 
 | acpi_ut_evaluate_object ( | 
 | 	struct acpi_namespace_node      *prefix_node, | 
 | 	char                            *path, | 
 | 	u32                             expected_return_btypes, | 
 | 	union acpi_operand_object       **return_desc); | 
 |  | 
 | acpi_status | 
 | acpi_ut_evaluate_numeric_object ( | 
 | 	char                            *object_name, | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	acpi_integer                    *address); | 
 |  | 
 | acpi_status | 
 | acpi_ut_execute_HID ( | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	struct acpi_device_id           *hid); | 
 |  | 
 | acpi_status | 
 | acpi_ut_execute_CID ( | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	struct acpi_compatible_id_list **return_cid_list); | 
 |  | 
 | acpi_status | 
 | acpi_ut_execute_STA ( | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	u32                             *status_flags); | 
 |  | 
 | acpi_status | 
 | acpi_ut_execute_UID ( | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	struct acpi_device_id           *uid); | 
 |  | 
 | acpi_status | 
 | acpi_ut_execute_sxds ( | 
 | 	struct acpi_namespace_node      *device_node, | 
 | 	u8                              *highest); | 
 |  | 
 |  | 
 | /* | 
 |  * utobject - internal object create/delete/cache routines | 
 |  */ | 
 | union acpi_operand_object    * | 
 | acpi_ut_create_internal_object_dbg ( | 
 | 	char                            *module_name, | 
 | 	u32                             line_number, | 
 | 	u32                             component_id, | 
 | 	acpi_object_type                type); | 
 |  | 
 | void * | 
 | acpi_ut_allocate_object_desc_dbg ( | 
 | 	char                            *module_name, | 
 | 	u32                             line_number, | 
 | 	u32                             component_id); | 
 |  | 
 | #define acpi_ut_create_internal_object(t) acpi_ut_create_internal_object_dbg (_THIS_MODULE,__LINE__,_COMPONENT,t) | 
 | #define acpi_ut_allocate_object_desc()  acpi_ut_allocate_object_desc_dbg (_THIS_MODULE,__LINE__,_COMPONENT) | 
 |  | 
 | void | 
 | acpi_ut_delete_object_desc ( | 
 | 	union acpi_operand_object       *object); | 
 |  | 
 | u8 | 
 | acpi_ut_valid_internal_object ( | 
 | 	void                            *object); | 
 |  | 
 | union acpi_operand_object * | 
 | acpi_ut_create_buffer_object ( | 
 | 	acpi_size                       buffer_size); | 
 |  | 
 | union acpi_operand_object * | 
 | acpi_ut_create_string_object ( | 
 | 	acpi_size                       string_size); | 
 |  | 
 | acpi_status | 
 | acpi_ut_get_object_size( | 
 | 	union acpi_operand_object       *obj, | 
 | 	acpi_size                       *obj_length); | 
 |  | 
 |  | 
 | /* | 
 |  * utstate - Generic state creation/cache routines | 
 |  */ | 
 | void | 
 | acpi_ut_push_generic_state ( | 
 | 	union acpi_generic_state        **list_head, | 
 | 	union acpi_generic_state        *state); | 
 |  | 
 | union acpi_generic_state * | 
 | acpi_ut_pop_generic_state ( | 
 | 	union acpi_generic_state        **list_head); | 
 |  | 
 |  | 
 | union acpi_generic_state * | 
 | acpi_ut_create_generic_state ( | 
 | 	void); | 
 |  | 
 | struct acpi_thread_state * | 
 | acpi_ut_create_thread_state ( | 
 | 	void); | 
 |  | 
 | union acpi_generic_state * | 
 | acpi_ut_create_update_state ( | 
 | 	union acpi_operand_object       *object, | 
 | 	u16                             action); | 
 |  | 
 | union acpi_generic_state * | 
 | acpi_ut_create_pkg_state ( | 
 | 	void                            *internal_object, | 
 | 	void                            *external_object, | 
 | 	u16                             index); | 
 |  | 
 | acpi_status | 
 | acpi_ut_create_update_state_and_push ( | 
 | 	union acpi_operand_object       *object, | 
 | 	u16                             action, | 
 | 	union acpi_generic_state        **state_list); | 
 |  | 
 | #ifdef	ACPI_FUTURE_USAGE | 
 | acpi_status | 
 | acpi_ut_create_pkg_state_and_push ( | 
 | 	void                            *internal_object, | 
 | 	void                            *external_object, | 
 | 	u16                             index, | 
 | 	union acpi_generic_state        **state_list); | 
 | #endif	/* ACPI_FUTURE_USAGE */ | 
 |  | 
 | union acpi_generic_state * | 
 | acpi_ut_create_control_state ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_delete_generic_state ( | 
 | 	union acpi_generic_state        *state); | 
 |  | 
 | #ifdef ACPI_ENABLE_OBJECT_CACHE | 
 | void | 
 | acpi_ut_delete_generic_state_cache ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_delete_object_cache ( | 
 | 	void); | 
 | #endif | 
 |  | 
 |  | 
 | /* | 
 |  * utmath | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_divide ( | 
 | 	acpi_integer                    in_dividend, | 
 | 	acpi_integer                    in_divisor, | 
 | 	acpi_integer                    *out_quotient, | 
 | 	acpi_integer                    *out_remainder); | 
 |  | 
 | acpi_status | 
 | acpi_ut_short_divide ( | 
 | 	acpi_integer                    in_dividend, | 
 | 	u32                             divisor, | 
 | 	acpi_integer                    *out_quotient, | 
 | 	u32                             *out_remainder); | 
 |  | 
 | /* | 
 |  * utmisc | 
 |  */ | 
 | acpi_status | 
 | acpi_ut_walk_package_tree ( | 
 | 	union acpi_operand_object       *source_object, | 
 | 	void                            *target_object, | 
 | 	acpi_pkg_callback               walk_callback, | 
 | 	void                            *context); | 
 |  | 
 | char * | 
 | acpi_ut_strupr ( | 
 | 	char                            *src_string); | 
 |  | 
 | void | 
 | acpi_ut_print_string ( | 
 | 	char                            *string, | 
 | 	u8                              max_length); | 
 |  | 
 | u8 | 
 | acpi_ut_valid_acpi_name ( | 
 | 	u32                             name); | 
 |  | 
 | u8 | 
 | acpi_ut_valid_acpi_character ( | 
 | 	char                            character); | 
 |  | 
 | acpi_status | 
 | acpi_ut_strtoul64 ( | 
 | 	char                            *string, | 
 | 	u32                             base, | 
 | 	acpi_integer                    *ret_integer); | 
 |  | 
 | /* Values for Base above (16=Hex, 10=Decimal) */ | 
 |  | 
 | #define ACPI_ANY_BASE        0 | 
 |  | 
 | acpi_status | 
 | acpi_ut_mutex_initialize ( | 
 | 	void); | 
 |  | 
 | void | 
 | acpi_ut_mutex_terminate ( | 
 | 	void); | 
 |  | 
 | acpi_status | 
 | acpi_ut_acquire_mutex ( | 
 | 	acpi_mutex_handle               mutex_id); | 
 |  | 
 | acpi_status | 
 | acpi_ut_release_mutex ( | 
 | 	acpi_mutex_handle               mutex_id); | 
 |  | 
 | u8 * | 
 | acpi_ut_get_resource_end_tag ( | 
 | 	union acpi_operand_object       *obj_desc); | 
 |  | 
 | u8 | 
 | acpi_ut_generate_checksum ( | 
 | 	u8                              *buffer, | 
 | 	u32                             length); | 
 |  | 
 | u32 | 
 | acpi_ut_dword_byte_swap ( | 
 | 	u32                             value); | 
 |  | 
 | void | 
 | acpi_ut_set_integer_width ( | 
 | 	u8                              revision); | 
 |  | 
 | #ifdef ACPI_DEBUG_OUTPUT | 
 | void | 
 | acpi_ut_display_init_pathname ( | 
 | 	u8                              type, | 
 | 	struct acpi_namespace_node      *obj_handle, | 
 | 	char                            *path); | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | /* | 
 |  * utalloc - memory allocation and object caching | 
 |  */ | 
 | void * | 
 | acpi_ut_acquire_from_cache ( | 
 | 	u32                             list_id); | 
 |  | 
 | void | 
 | acpi_ut_release_to_cache ( | 
 | 	u32                             list_id, | 
 | 	void                            *object); | 
 |  | 
 | #ifdef ACPI_ENABLE_OBJECT_CACHE | 
 | void | 
 | acpi_ut_delete_generic_cache ( | 
 | 	u32                             list_id); | 
 | #endif | 
 |  | 
 | acpi_status | 
 | acpi_ut_validate_buffer ( | 
 | 	struct acpi_buffer              *buffer); | 
 |  | 
 | acpi_status | 
 | acpi_ut_initialize_buffer ( | 
 | 	struct acpi_buffer              *buffer, | 
 | 	acpi_size                       required_length); | 
 |  | 
 | void * | 
 | acpi_ut_allocate ( | 
 | 	acpi_size                       size, | 
 | 	u32                             component, | 
 | 	char                            *module, | 
 | 	u32                             line); | 
 |  | 
 | void * | 
 | acpi_ut_callocate ( | 
 | 	acpi_size                       size, | 
 | 	u32                             component, | 
 | 	char                            *module, | 
 | 	u32                             line); | 
 |  | 
 | #ifdef ACPI_DBG_TRACK_ALLOCATIONS | 
 | void * | 
 | acpi_ut_allocate_and_track ( | 
 | 	acpi_size                       size, | 
 | 	u32                             component, | 
 | 	char                            *module, | 
 | 	u32                             line); | 
 |  | 
 | void * | 
 | acpi_ut_callocate_and_track ( | 
 | 	acpi_size                       size, | 
 | 	u32                             component, | 
 | 	char                            *module, | 
 | 	u32                             line); | 
 |  | 
 | void | 
 | acpi_ut_free_and_track ( | 
 | 	void                            *address, | 
 | 	u32                             component, | 
 | 	char                            *module, | 
 | 	u32                             line); | 
 |  | 
 | #ifdef	ACPI_FUTURE_USAGE | 
 | void | 
 | acpi_ut_dump_allocation_info ( | 
 | 	void); | 
 | #endif	/* ACPI_FUTURE_USAGE */ | 
 |  | 
 | void | 
 | acpi_ut_dump_allocations ( | 
 | 	u32                             component, | 
 | 	char                            *module); | 
 | #endif | 
 |  | 
 | #endif /* _ACUTILS_H */ |