Commit 4d946f79 authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki

ACPI: Enable build of AML interpreter debugger

This patch enables ACPICA debugger files using a configurable
CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that
was originally masked as ACPI_FUTURE_USAGE now gets unmasked.

Necessary OSL stubs are also added in this patch:
1. acpi_os_readable(): This should be arch specific in Linux, while this
    patch doesn't introduce real implementation and a complex mechanism to
    allow architecture specific acpi_os_readable() to be implemented to
    validate the address. It may be done by future commits.
2. acpi_os_get_line(): This is used to obtain debugger command input. This
    patch only introduces a simple KDB concept example in it and the
    example should be co-working with the code implemented in
    acpi_os_printf(). Since this KDB example won't be compiled unless
    ENABLE_DEBUGGER is defined and it seems Linux has already stopped to
    use ENABLE_DEBUGGER, thus do not expect it can work properly.

This patch also cleans up all other ACPI_FUTURE_USAGE surroundings
accordingly.
1. Since linkage error can be automatically detected, declaration in the
   headers needn't be surrounded by ACPI_FUTURE_USAGE.
   So only the following separate exported fuction bodies are masked by
   this macro (other exported fucntions may have already been masked at
   entire module level via drivers/acpi/acpica/Makefile):
     acpi_install_exception_handler()
     acpi_subsystem_status()
     acpi_get_system_info()
     acpi_get_statistics()
     acpi_install_initialization_handler()
2. Since strip can automatically zap the no-user functions, functions that
   are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by
   ACPI_FUTURE_USAGE.
   So the following function which is not used by Linux kernel now won't
   get surrounded by this macro:
     acpi_ps_get_name()
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent f988f24e
...@@ -57,6 +57,15 @@ config ACPI_SYSTEM_POWER_STATES_SUPPORT ...@@ -57,6 +57,15 @@ config ACPI_SYSTEM_POWER_STATES_SUPPORT
config ACPI_CCA_REQUIRED config ACPI_CCA_REQUIRED
bool bool
config ACPI_DEBUGGER
bool "In-kernel debugger (EXPERIMENTAL)"
select ACPI_DEBUG
help
Enable in-kernel debugging facilities: statistics, internal
object dump, single step control method execution.
This is still under development, currently enabling this only
results in the compilation of the ACPICA debugger files.
config ACPI_SLEEP config ACPI_SLEEP
bool bool
depends on SUSPEND || HIBERNATION depends on SUSPEND || HIBERNATION
......
...@@ -177,8 +177,24 @@ acpi-y += \ ...@@ -177,8 +177,24 @@ acpi-y += \
utxferror.o \ utxferror.o \
utxfmutex.o utxfmutex.o
acpi-$(ACPI_FUTURE_USAGE) += \ acpi-$(CONFIG_ACPI_DEBUGGER) += \
dbcmds.o \
dbconvert.o \
dbdisply.o \
dbexec.o \
dbhistry.o \
dbinput.o \
dbmethod.o \
dbnames.o \
dbobject.o \
dbstats.o \
dbutils.o \
dbxface.o \
rsdump.o \ rsdump.o \
acpi-$(ACPI_FUTURE_USAGE) += \
dbfileio.o \
dbtest.o \
utcache.o \ utcache.o \
utfileio.o \ utfileio.o \
utprint.o \ utprint.o \
......
...@@ -397,12 +397,10 @@ void ...@@ -397,12 +397,10 @@ void
acpi_ex_dump_operands(union acpi_operand_object **operands, acpi_ex_dump_operands(union acpi_operand_object **operands,
const char *opcode_name, u32 num_opcodes); const char *opcode_name, u32 num_opcodes);
#ifdef ACPI_FUTURE_USAGE
void void
acpi_ex_dump_object_descriptor(union acpi_operand_object *object, u32 flags); acpi_ex_dump_object_descriptor(union acpi_operand_object *object, u32 flags);
void acpi_ex_dump_namespace_node(struct acpi_namespace_node *node, u32 flags); void acpi_ex_dump_namespace_node(struct acpi_namespace_node *node, u32 flags);
#endif /* ACPI_FUTURE_USAGE */
/* /*
* exnames - AML namestring support * exnames - AML namestring support
......
...@@ -193,9 +193,7 @@ acpi_ns_convert_to_resource(union acpi_operand_object *original_object, ...@@ -193,9 +193,7 @@ acpi_ns_convert_to_resource(union acpi_operand_object *original_object,
/* /*
* nsdump - Namespace dump/print utilities * nsdump - Namespace dump/print utilities
*/ */
#ifdef ACPI_FUTURE_USAGE
void acpi_ns_dump_tables(acpi_handle search_base, u32 max_depth); void acpi_ns_dump_tables(acpi_handle search_base, u32 max_depth);
#endif /* ACPI_FUTURE_USAGE */
void acpi_ns_dump_entry(acpi_handle handle, u32 debug_level); void acpi_ns_dump_entry(acpi_handle handle, u32 debug_level);
...@@ -208,7 +206,6 @@ acpi_status ...@@ -208,7 +206,6 @@ acpi_status
acpi_ns_dump_one_object(acpi_handle obj_handle, acpi_ns_dump_one_object(acpi_handle obj_handle,
u32 level, void *context, void **return_value); u32 level, void *context, void **return_value);
#ifdef ACPI_FUTURE_USAGE
void void
acpi_ns_dump_objects(acpi_object_type type, acpi_ns_dump_objects(acpi_object_type type,
u8 display_type, u8 display_type,
...@@ -220,7 +217,6 @@ acpi_ns_dump_object_paths(acpi_object_type type, ...@@ -220,7 +217,6 @@ acpi_ns_dump_object_paths(acpi_object_type type,
u8 display_type, u8 display_type,
u32 max_depth, u32 max_depth,
acpi_owner_id owner_id, acpi_handle start_handle); acpi_owner_id owner_id, acpi_handle start_handle);
#endif /* ACPI_FUTURE_USAGE */
/* /*
* nseval - Namespace evaluation functions * nseval - Namespace evaluation functions
......
...@@ -194,10 +194,8 @@ union acpi_parse_object *acpi_ps_find(union acpi_parse_object *scope, ...@@ -194,10 +194,8 @@ union acpi_parse_object *acpi_ps_find(union acpi_parse_object *scope,
union acpi_parse_object *acpi_ps_get_arg(union acpi_parse_object *op, u32 argn); union acpi_parse_object *acpi_ps_get_arg(union acpi_parse_object *op, u32 argn);
#ifdef ACPI_FUTURE_USAGE
union acpi_parse_object *acpi_ps_get_depth_next(union acpi_parse_object *origin, union acpi_parse_object *acpi_ps_get_depth_next(union acpi_parse_object *origin,
union acpi_parse_object *op); union acpi_parse_object *op);
#endif /* ACPI_FUTURE_USAGE */
/* /*
* pswalk - parse tree walk routines * pswalk - parse tree walk routines
...@@ -235,9 +233,7 @@ void acpi_ps_free_op(union acpi_parse_object *op); ...@@ -235,9 +233,7 @@ void acpi_ps_free_op(union acpi_parse_object *op);
u8 acpi_ps_is_leading_char(u32 c); u8 acpi_ps_is_leading_char(u32 c);
#ifdef ACPI_FUTURE_USAGE
u32 acpi_ps_get_name(union acpi_parse_object *op); u32 acpi_ps_get_name(union acpi_parse_object *op);
#endif /* ACPI_FUTURE_USAGE */
void acpi_ps_set_name(union acpi_parse_object *op, u32 name); void acpi_ps_set_name(union acpi_parse_object *op, u32 name);
......
...@@ -635,9 +635,7 @@ void ...@@ -635,9 +635,7 @@ void
acpi_ut_free_and_track(void *address, acpi_ut_free_and_track(void *address,
u32 component, const char *module, u32 line); u32 component, const char *module, u32 line);
#ifdef ACPI_FUTURE_USAGE
void acpi_ut_dump_allocation_info(void); void acpi_ut_dump_allocation_info(void);
#endif /* ACPI_FUTURE_USAGE */
void acpi_ut_dump_allocations(u32 component, const char *module); void acpi_ut_dump_allocations(u32 component, const char *module);
......
...@@ -405,7 +405,7 @@ acpi_status acpi_install_exception_handler(acpi_exception_handler handler) ...@@ -405,7 +405,7 @@ acpi_status acpi_install_exception_handler(acpi_exception_handler handler)
} }
ACPI_EXPORT_SYMBOL(acpi_install_exception_handler) ACPI_EXPORT_SYMBOL(acpi_install_exception_handler)
#endif /* ACPI_FUTURE_USAGE */ #endif
#if (!ACPI_REDUCED_HARDWARE) #if (!ACPI_REDUCED_HARDWARE)
/******************************************************************************* /*******************************************************************************
......
...@@ -60,7 +60,6 @@ acpi_ns_dump_one_device(acpi_handle obj_handle, ...@@ -60,7 +60,6 @@ acpi_ns_dump_one_device(acpi_handle obj_handle,
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
#ifdef ACPI_FUTURE_USAGE
static acpi_status static acpi_status
acpi_ns_dump_one_object_path(acpi_handle obj_handle, acpi_ns_dump_one_object_path(acpi_handle obj_handle,
u32 level, void *context, void **return_value); u32 level, void *context, void **return_value);
...@@ -68,7 +67,6 @@ acpi_ns_dump_one_object_path(acpi_handle obj_handle, ...@@ -68,7 +67,6 @@ acpi_ns_dump_one_object_path(acpi_handle obj_handle,
static acpi_status static acpi_status
acpi_ns_get_max_depth(acpi_handle obj_handle, acpi_ns_get_max_depth(acpi_handle obj_handle,
u32 level, void *context, void **return_value); u32 level, void *context, void **return_value);
#endif /* ACPI_FUTURE_USAGE */
/******************************************************************************* /*******************************************************************************
* *
...@@ -625,7 +623,6 @@ acpi_ns_dump_one_object(acpi_handle obj_handle, ...@@ -625,7 +623,6 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,
return (AE_OK); return (AE_OK);
} }
#ifdef ACPI_FUTURE_USAGE
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_ns_dump_objects * FUNCTION: acpi_ns_dump_objects
...@@ -680,9 +677,7 @@ acpi_ns_dump_objects(acpi_object_type type, ...@@ -680,9 +677,7 @@ acpi_ns_dump_objects(acpi_object_type type,
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
} }
#endif /* ACPI_FUTURE_USAGE */
#ifdef ACPI_FUTURE_USAGE
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_ns_dump_one_object_path, acpi_ns_get_max_depth * FUNCTION: acpi_ns_dump_one_object_path, acpi_ns_get_max_depth
...@@ -810,7 +805,6 @@ acpi_ns_dump_object_paths(acpi_object_type type, ...@@ -810,7 +805,6 @@ acpi_ns_dump_object_paths(acpi_object_type type,
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
} }
#endif /* ACPI_FUTURE_USAGE */
/******************************************************************************* /*******************************************************************************
* *
......
...@@ -183,7 +183,6 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg) ...@@ -183,7 +183,6 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg)
} }
} }
#ifdef ACPI_FUTURE_USAGE
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_ps_get_depth_next * FUNCTION: acpi_ps_get_depth_next
...@@ -317,4 +316,3 @@ union acpi_parse_object *acpi_ps_get_child(union acpi_parse_object *op) ...@@ -317,4 +316,3 @@ union acpi_parse_object *acpi_ps_get_child(union acpi_parse_object *op)
return (child); return (child);
} }
#endif #endif
#endif /* ACPI_FUTURE_USAGE */
...@@ -205,7 +205,6 @@ u8 acpi_ps_is_leading_char(u32 c) ...@@ -205,7 +205,6 @@ u8 acpi_ps_is_leading_char(u32 c)
/* /*
* Get op's name (4-byte name segment) or 0 if unnamed * Get op's name (4-byte name segment) or 0 if unnamed
*/ */
#ifdef ACPI_FUTURE_USAGE
u32 acpi_ps_get_name(union acpi_parse_object * op) u32 acpi_ps_get_name(union acpi_parse_object * op)
{ {
...@@ -219,7 +218,6 @@ u32 acpi_ps_get_name(union acpi_parse_object * op) ...@@ -219,7 +218,6 @@ u32 acpi_ps_get_name(union acpi_parse_object * op)
return (op->named.name); return (op->named.name);
} }
#endif /* ACPI_FUTURE_USAGE */
/* /*
* Set op's name * Set op's name
......
...@@ -564,7 +564,6 @@ acpi_rs_get_crs_method_data(struct acpi_namespace_node *node, ...@@ -564,7 +564,6 @@ acpi_rs_get_crs_method_data(struct acpi_namespace_node *node,
* *
******************************************************************************/ ******************************************************************************/
#ifdef ACPI_FUTURE_USAGE
acpi_status acpi_status
acpi_rs_get_prs_method_data(struct acpi_namespace_node *node, acpi_rs_get_prs_method_data(struct acpi_namespace_node *node,
struct acpi_buffer *ret_buffer) struct acpi_buffer *ret_buffer)
...@@ -596,7 +595,6 @@ acpi_rs_get_prs_method_data(struct acpi_namespace_node *node, ...@@ -596,7 +595,6 @@ acpi_rs_get_prs_method_data(struct acpi_namespace_node *node,
acpi_ut_remove_reference(obj_desc); acpi_ut_remove_reference(obj_desc);
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
} }
#endif /* ACPI_FUTURE_USAGE */
/******************************************************************************* /*******************************************************************************
* *
......
...@@ -220,7 +220,7 @@ acpi_get_current_resources(acpi_handle device_handle, ...@@ -220,7 +220,7 @@ acpi_get_current_resources(acpi_handle device_handle,
} }
ACPI_EXPORT_SYMBOL(acpi_get_current_resources) ACPI_EXPORT_SYMBOL(acpi_get_current_resources)
#ifdef ACPI_FUTURE_USAGE
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_get_possible_resources * FUNCTION: acpi_get_possible_resources
...@@ -262,7 +262,7 @@ acpi_get_possible_resources(acpi_handle device_handle, ...@@ -262,7 +262,7 @@ acpi_get_possible_resources(acpi_handle device_handle,
} }
ACPI_EXPORT_SYMBOL(acpi_get_possible_resources) ACPI_EXPORT_SYMBOL(acpi_get_possible_resources)
#endif /* ACPI_FUTURE_USAGE */
/******************************************************************************* /*******************************************************************************
* *
* FUNCTION: acpi_set_current_resources * FUNCTION: acpi_set_current_resources
......
...@@ -253,7 +253,7 @@ acpi_install_initialization_handler(acpi_init_handler handler, u32 function) ...@@ -253,7 +253,7 @@ acpi_install_initialization_handler(acpi_init_handler handler, u32 function)
} }
ACPI_EXPORT_SYMBOL(acpi_install_initialization_handler) ACPI_EXPORT_SYMBOL(acpi_install_initialization_handler)
#endif /* ACPI_FUTURE_USAGE */ #endif
/***************************************************************************** /*****************************************************************************
* *
......
...@@ -66,8 +66,6 @@ struct acpi_os_dpc { ...@@ -66,8 +66,6 @@ struct acpi_os_dpc {
/* stuff for debugger support */ /* stuff for debugger support */
int acpi_in_debugger; int acpi_in_debugger;
EXPORT_SYMBOL(acpi_in_debugger); EXPORT_SYMBOL(acpi_in_debugger);
extern char line_buf[80];
#endif /*ENABLE_DEBUGGER */ #endif /*ENABLE_DEBUGGER */
static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 pm1a_ctrl, static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 pm1a_ctrl,
...@@ -1345,15 +1343,13 @@ acpi_status acpi_os_signal_semaphore(acpi_handle handle, u32 units) ...@@ -1345,15 +1343,13 @@ acpi_status acpi_os_signal_semaphore(acpi_handle handle, u32 units)
return AE_OK; return AE_OK;
} }
#ifdef ACPI_FUTURE_USAGE acpi_status acpi_os_get_line(char *buffer, u32 buffer_length, u32 *bytes_read)
u32 acpi_os_get_line(char *buffer)
{ {
#ifdef ENABLE_DEBUGGER #ifdef ENABLE_DEBUGGER
if (acpi_in_debugger) { if (acpi_in_debugger) {
u32 chars; u32 chars;
kdb_read(buffer, sizeof(line_buf)); kdb_read(buffer, buffer_length);
/* remove the CR kdb includes */ /* remove the CR kdb includes */
chars = strlen(buffer) - 1; chars = strlen(buffer) - 1;
...@@ -1361,9 +1357,8 @@ u32 acpi_os_get_line(char *buffer) ...@@ -1361,9 +1357,8 @@ u32 acpi_os_get_line(char *buffer)
} }
#endif #endif
return 0; return AE_OK;
} }
#endif /* ACPI_FUTURE_USAGE */
acpi_status acpi_os_signal(u32 function, void *info) acpi_status acpi_os_signal(u32 function, void *info)
{ {
......
...@@ -393,15 +393,11 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_terminate(void)) ...@@ -393,15 +393,11 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_terminate(void))
*/ */
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void))
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void))
#ifdef ACPI_FUTURE_USAGE
ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_subsystem_status(void)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_subsystem_status(void))
#endif
#ifdef ACPI_FUTURE_USAGE
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_get_system_info(struct acpi_buffer acpi_get_system_info(struct acpi_buffer
*ret_buffer)) *ret_buffer))
#endif
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_get_statistics(struct acpi_statistics *stats)) acpi_get_statistics(struct acpi_statistics *stats))
ACPI_EXTERNAL_RETURN_PTR(const char ACPI_EXTERNAL_RETURN_PTR(const char
...@@ -625,11 +621,9 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ...@@ -625,11 +621,9 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
space_id, space_id,
acpi_adr_space_handler acpi_adr_space_handler
handler)) handler))
#ifdef ACPI_FUTURE_USAGE
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_install_exception_handler acpi_install_exception_handler
(acpi_exception_handler handler)) (acpi_exception_handler handler))
#endif
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_install_interface_handler acpi_install_interface_handler
(acpi_interface_handler handler)) (acpi_interface_handler handler))
...@@ -750,12 +744,10 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ...@@ -750,12 +744,10 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_get_current_resources(acpi_handle device, acpi_get_current_resources(acpi_handle device,
struct acpi_buffer struct acpi_buffer
*ret_buffer)) *ret_buffer))
#ifdef ACPI_FUTURE_USAGE
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_get_possible_resources(acpi_handle device, acpi_get_possible_resources(acpi_handle device,
struct acpi_buffer struct acpi_buffer
*ret_buffer)) *ret_buffer))
#endif
ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_get_event_resources(acpi_handle device_handle, acpi_get_event_resources(acpi_handle device_handle,
struct acpi_buffer struct acpi_buffer
...@@ -844,7 +836,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status ...@@ -844,7 +836,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
/* /*
* ACPI Timer interfaces * ACPI Timer interfaces
*/ */
#ifdef ACPI_FUTURE_USAGE
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
acpi_get_timer_resolution(u32 *resolution)) acpi_get_timer_resolution(u32 *resolution))
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_timer(u32 *ticks)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_timer(u32 *ticks))
...@@ -853,7 +844,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status ...@@ -853,7 +844,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
acpi_get_timer_duration(u32 start_ticks, acpi_get_timer_duration(u32 start_ticks,
u32 end_ticks, u32 end_ticks,
u32 *time_elapsed)) u32 *time_elapsed))
#endif /* ACPI_FUTURE_USAGE */
/* /*
* Error/Warning output * Error/Warning output
......
...@@ -63,12 +63,16 @@ ...@@ -63,12 +63,16 @@
#define ACPI_USE_SYSTEM_INTTYPES #define ACPI_USE_SYSTEM_INTTYPES
/* Compile for reduced hardware mode only with this kernel config */ /* Kernel specific ACPICA configuration */
#ifdef CONFIG_ACPI_REDUCED_HARDWARE_ONLY #ifdef CONFIG_ACPI_REDUCED_HARDWARE_ONLY
#define ACPI_REDUCED_HARDWARE 1 #define ACPI_REDUCED_HARDWARE 1
#endif #endif
#ifdef CONFIG_ACPI_DEBUGGER
#define ACPI_DEBUGGER
#endif
#include <linux/string.h> #include <linux/string.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/ctype.h> #include <linux/ctype.h>
...@@ -151,7 +155,6 @@ ...@@ -151,7 +155,6 @@
* OSL interfaces used by utilities * OSL interfaces used by utilities
*/ */
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_redirect_output #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_redirect_output
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_line
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_name #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_name
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_index #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_index
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_address #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_address
......
...@@ -124,6 +124,11 @@ static inline acpi_thread_id acpi_os_get_thread_id(void) ...@@ -124,6 +124,11 @@ static inline acpi_thread_id acpi_os_get_thread_id(void)
lock ? AE_OK : AE_NO_MEMORY; \ lock ? AE_OK : AE_NO_MEMORY; \
}) })
static inline u8 acpi_os_readable(void *pointer, acpi_size length)
{
return TRUE;
}
/* /*
* OSL interfaces added by Linux * OSL interfaces added by Linux
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment