diff options
Diffstat (limited to 'include/acpi')
| -rw-r--r-- | include/acpi/acbuffer.h | 1 | ||||
| -rw-r--r-- | include/acpi/acconfig.h | 4 | ||||
| -rw-r--r-- | include/acpi/acexcep.h | 7 | ||||
| -rw-r--r-- | include/acpi/acoutput.h | 21 | ||||
| -rw-r--r-- | include/acpi/acpi_bus.h | 4 | ||||
| -rw-r--r-- | include/acpi/acpi_drivers.h | 4 | ||||
| -rw-r--r-- | include/acpi/acpiosxf.h | 6 | ||||
| -rw-r--r-- | include/acpi/acpixf.h | 16 | ||||
| -rw-r--r-- | include/acpi/actbl2.h | 17 | ||||
| -rw-r--r-- | include/acpi/actypes.h | 13 | ||||
| -rw-r--r-- | include/acpi/platform/acenv.h | 19 | ||||
| -rw-r--r-- | include/acpi/platform/acenvex.h | 3 | ||||
| -rw-r--r-- | include/acpi/platform/acmsvcex.h | 54 | ||||
| -rw-r--r-- | include/acpi/platform/acwinex.h | 49 | ||||
| -rw-r--r-- | include/acpi/processor.h | 59 | 
15 files changed, 237 insertions, 40 deletions
diff --git a/include/acpi/acbuffer.h b/include/acpi/acbuffer.h index 6b040f4ddfab..fcf9080eae85 100644 --- a/include/acpi/acbuffer.h +++ b/include/acpi/acbuffer.h @@ -147,6 +147,7 @@ struct acpi_pld_info {   *        (Intended for BIOS use only)   */  #define ACPI_PLD_REV1_BUFFER_SIZE               16	/* For Revision 1 of the buffer (From ACPI spec) */ +#define ACPI_PLD_REV2_BUFFER_SIZE               20	/* For Revision 2 of the buffer (From ACPI spec) */  #define ACPI_PLD_BUFFER_SIZE                    20	/* For Revision 2 of the buffer (From ACPI spec) */  /* First 32-bit dword, bits 0:32 */ diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h index 03aacfb3e98b..e11611ca72a4 100644 --- a/include/acpi/acconfig.h +++ b/include/acpi/acconfig.h @@ -136,10 +136,6 @@  #define ACPI_ROOT_TABLE_SIZE_INCREMENT  4 -/* Maximum number of While() loop iterations before forced abort */ - -#define ACPI_MAX_LOOP_ITERATIONS        0xFFFF -  /* Maximum sleep allowed via Sleep() operator */  #define ACPI_MAX_SLEEP                  2000	/* 2000 millisec == two seconds */ diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h index 11c3a011dcbf..9f20eb4acaa6 100644 --- a/include/acpi/acexcep.h +++ b/include/acpi/acexcep.h @@ -192,8 +192,9 @@ struct acpi_exception_info {  #define AE_AML_BAD_RESOURCE_LENGTH      EXCEP_AML (0x001F)  #define AE_AML_ILLEGAL_ADDRESS          EXCEP_AML (0x0020)  #define AE_AML_INFINITE_LOOP            EXCEP_AML (0x0021) +#define AE_AML_UNINITIALIZED_NODE       EXCEP_AML (0x0022) -#define AE_CODE_AML_MAX                 0x0021 +#define AE_CODE_AML_MAX                 0x0022  /*   * Internal exceptions used for control @@ -355,7 +356,9 @@ static const struct acpi_exception_info acpi_gbl_exception_names_aml[] = {  	EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS",  		  "A memory, I/O, or PCI configuration address is invalid"),  	EXCEP_TXT("AE_AML_INFINITE_LOOP", -		  "An apparent infinite AML While loop, method was aborted") +		  "An apparent infinite AML While loop, method was aborted"), +	EXCEP_TXT("AE_AML_UNINITIALIZED_NODE", +		  "A namespace node is uninitialized or unresolved")  };  static const struct acpi_exception_info acpi_gbl_exception_names_ctrl[] = { diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index f56de8c5d844..908d4f9c348c 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h @@ -88,7 +88,8 @@  #define ACPI_LV_DEBUG_OBJECT        0x00000002  #define ACPI_LV_INFO                0x00000004  #define ACPI_LV_REPAIR              0x00000008 -#define ACPI_LV_ALL_EXCEPTIONS      0x0000000F +#define ACPI_LV_TRACE_POINT         0x00000010 +#define ACPI_LV_ALL_EXCEPTIONS      0x0000001F  /* Trace verbosity level 1 [Standard Trace Level] */ @@ -147,6 +148,7 @@  #define ACPI_DB_DEBUG_OBJECT        ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT)  #define ACPI_DB_INFO                ACPI_DEBUG_LEVEL (ACPI_LV_INFO)  #define ACPI_DB_REPAIR              ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR) +#define ACPI_DB_TRACE_POINT         ACPI_DEBUG_LEVEL (ACPI_LV_TRACE_POINT)  #define ACPI_DB_ALL_EXCEPTIONS      ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS)  /* Trace level -- also used in the global "DebugLevel" */ @@ -182,6 +184,20 @@  #define ACPI_NORMAL_DEFAULT         (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR)  #define ACPI_DEBUG_ALL              (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) +/* + * Global trace flags + */ +#define ACPI_TRACE_ENABLED          ((u32) 4) +#define ACPI_TRACE_ONESHOT          ((u32) 2) +#define ACPI_TRACE_OPCODE           ((u32) 1) + +/* Defaults for trace debugging level/layer */ + +#define ACPI_TRACE_LEVEL_ALL        ACPI_LV_ALL +#define ACPI_TRACE_LAYER_ALL        0x000001FF +#define ACPI_TRACE_LEVEL_DEFAULT    ACPI_LV_TRACE_POINT +#define ACPI_TRACE_LAYER_DEFAULT    ACPI_EXECUTER +  #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES)  /*   * The module name is used primarily for error and debug messages. @@ -432,6 +448,8 @@  #define ACPI_DUMP_PATHNAME(a, b, c, d)  acpi_ns_dump_pathname(a, b, c, d)  #define ACPI_DUMP_BUFFER(a, b)          acpi_ut_debug_dump_buffer((u8 *) a, b, DB_BYTE_DISPLAY, _COMPONENT) +#define ACPI_TRACE_POINT(a, b, c, d)    acpi_trace_point (a, b, c, d) +  #else				/* ACPI_DEBUG_OUTPUT */  /*   * This is the non-debug case -- make everything go away, @@ -453,6 +471,7 @@  #define ACPI_DUMP_PATHNAME(a, b, c, d)  #define ACPI_DUMP_BUFFER(a, b)  #define ACPI_IS_DEBUG_ENABLED(level, component) 0 +#define ACPI_TRACE_POINT(a, b, c, d)  /* Return macros must have a return statement at the minimum */ diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 83061cac719b..5ba8fb64f664 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -16,10 +16,6 @@   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   *  General Public License for more details.   * - *  You should have received a copy of the GNU General Public License along - *  with this program; if not, write to the Free Software Foundation, Inc., - *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   */ diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index ea6428b7dacb..29c691265b49 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h @@ -16,10 +16,6 @@   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   *  General Public License for more details.   * - *  You should have received a copy of the GNU General Public License along - *  with this program; if not, write to the Free Software Foundation, Inc., - *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   */ diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index d02df0a49d98..a54ad1cc990c 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -430,4 +430,10 @@ long acpi_os_get_file_offset(ACPI_FILE file);  acpi_status acpi_os_set_file_offset(ACPI_FILE file, long offset, u8 from);  #endif +#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_trace_point +void +acpi_os_trace_point(acpi_trace_event_type type, +		    u8 begin, u8 *aml, char *pathname); +#endif +  #endif				/* __ACPIOSXF_H__ */ diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index e8ec18a4a634..c33eeabde160 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h @@ -46,7 +46,7 @@  /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION                 0x20150619 +#define ACPI_CA_VERSION                 0x20150818  #include <acpi/acconfig.h>  #include <acpi/actypes.h> @@ -251,7 +251,9 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_reduced_hardware, FALSE);   * traced each time it is executed.   */  ACPI_INIT_GLOBAL(u32, acpi_gbl_trace_flags, 0); -ACPI_INIT_GLOBAL(acpi_name, acpi_gbl_trace_method_name, 0); +ACPI_INIT_GLOBAL(const char *, acpi_gbl_trace_method_name, NULL); +ACPI_INIT_GLOBAL(u32, acpi_gbl_trace_dbg_level, ACPI_TRACE_LEVEL_DEFAULT); +ACPI_INIT_GLOBAL(u32, acpi_gbl_trace_dbg_layer, ACPI_TRACE_LAYER_DEFAULT);  /*   * Runtime configuration of debug output control masks. We want the debug @@ -504,7 +506,7 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status  					   acpi_object_handler handler,  					   void **data))  ACPI_EXTERNAL_RETURN_STATUS(acpi_status -			     acpi_debug_trace(char *name, u32 debug_level, +			     acpi_debug_trace(const char *name, u32 debug_level,  					      u32 debug_layer, u32 flags))  /* @@ -907,9 +909,17 @@ ACPI_DBG_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(6)  						     const char *module_name,  						     u32 component_id,  						     const char *format, ...)) + +ACPI_DBG_DEPENDENT_RETURN_VOID(void +			       acpi_trace_point(acpi_trace_event_type type, +						u8 begin, +						u8 *aml, char *pathname))  ACPI_APP_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(1)  				void ACPI_INTERNAL_VAR_XFACE  				acpi_log_error(const char *format, ...)) + acpi_status acpi_initialize_debugger(void); + +void acpi_terminate_debugger(void);  /*   * Divergences diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index a948fc586b9b..6e28f544b7b2 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h @@ -1186,20 +1186,29 @@ enum acpi_spmi_interface_types {   * December 19, 2014   *   * NOTE: There are two versions of the table with the same signature -- - * the client version and the server version. + * the client version and the server version. The common platform_class + * field is used to differentiate the two types of tables.   *   ******************************************************************************/ -struct acpi_table_tcpa_client { +struct acpi_table_tcpa_hdr {  	struct acpi_table_header header;	/* Common ACPI table header */  	u16 platform_class; +}; + +/* + * Values for platform_class above. + * This is how the client and server subtables are differentiated + */ +#define ACPI_TCPA_CLIENT_TABLE          0 +#define ACPI_TCPA_SERVER_TABLE          1 + +struct acpi_table_tcpa_client {  	u32 minimum_log_length;	/* Minimum length for the event log area */  	u64 log_address;	/* Address of the event log area */  };  struct acpi_table_tcpa_server { -	struct acpi_table_header header;	/* Common ACPI table header */ -	u16 platform_class;  	u16 reserved;  	u64 minimum_log_length;	/* Minimum length for the event log area */  	u64 log_address;	/* Address of the event log area */ diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index c2a41d223162..f914958c4adb 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h @@ -662,6 +662,7 @@ typedef u32 acpi_object_type;  #define ACPI_TYPE_DEBUG_OBJECT          0x10  #define ACPI_TYPE_EXTERNAL_MAX          0x10 +#define ACPI_NUM_TYPES                  (ACPI_TYPE_EXTERNAL_MAX + 1)  /*   * These are object types that do not map directly to the ACPI @@ -683,6 +684,7 @@ typedef u32 acpi_object_type;  #define ACPI_TYPE_LOCAL_SCOPE           0x1B	/* 1 Name, multiple object_list Nodes */  #define ACPI_TYPE_NS_NODE_MAX           0x1B	/* Last typecode used within a NS Node */ +#define ACPI_TOTAL_TYPES                (ACPI_TYPE_NS_NODE_MAX + 1)  /*   * These are special object types that never appear in @@ -985,7 +987,8 @@ struct acpi_buffer {   */  #define ACPI_FULL_PATHNAME              0  #define ACPI_SINGLE_NAME                1 -#define ACPI_NAME_TYPE_MAX              1 +#define ACPI_FULL_PATHNAME_NO_TRAILING  2 +#define ACPI_NAME_TYPE_MAX              2  /*   * Predefined Namespace items @@ -1246,6 +1249,14 @@ struct acpi_memory_list {  #endif  }; +/* Definitions of trace event types */ + +typedef enum { +	ACPI_TRACE_AML_METHOD, +	ACPI_TRACE_AML_OPCODE, +	ACPI_TRACE_AML_REGION +} acpi_trace_event_type; +  /* Definitions of _OSI support */  #define ACPI_VENDOR_STRINGS                 0x01 diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index 3cedd43943f4..ec00e2bb029e 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h @@ -70,13 +70,14 @@  #ifdef ACPI_ASL_COMPILER  #define ACPI_APPLICATION -#define ACPI_DISASSEMBLER  #define ACPI_DEBUG_OUTPUT  #define ACPI_CONSTANT_EVAL_ONLY  #define ACPI_LARGE_NAMESPACE_NODE  #define ACPI_DATA_TABLE_DISASSEMBLY  #define ACPI_SINGLE_THREADED  #define ACPI_32BIT_PHYSICAL_ADDRESS + +#define ACPI_DISASSEMBLER 1  #endif  /* acpi_exec configuration. Multithreaded with full AML debugger */ @@ -89,8 +90,8 @@  #endif  /* - * acpi_bin/acpi_dump/acpi_help/acpi_names/acpi_src/acpi_xtract/Example configuration. - * All single threaded. + * acpi_bin/acpi_dump/acpi_help/acpi_names/acpi_src/acpi_xtract/Example + * configuration. All single threaded.   */  #if (defined ACPI_BIN_APP)      || \  	(defined ACPI_DUMP_APP)     || \ @@ -123,7 +124,7 @@  #define ACPI_USE_NATIVE_RSDP_POINTER  #endif -/* acpi_dump configuration. Native mapping used if provied by OSPMs */ +/* acpi_dump configuration. Native mapping used if provided by the host */  #ifdef ACPI_DUMP_APP  #define ACPI_USE_NATIVE_MEMORY_MAPPING @@ -151,12 +152,12 @@  #define ACPI_USE_LOCAL_CACHE  #endif -/* Common debug support */ +/* Common debug/disassembler support */  #ifdef ACPI_FULL_DEBUG -#define ACPI_DEBUGGER  #define ACPI_DEBUG_OUTPUT -#define ACPI_DISASSEMBLER +#define ACPI_DEBUGGER 1 +#define ACPI_DISASSEMBLER 1  #endif @@ -323,8 +324,8 @@   * ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and   *      the standard header files may be used.   * - * The ACPICA subsystem only uses low level C library functions that do not call - * operating system services and may therefore be inlined in the code. + * The ACPICA subsystem only uses low level C library functions that do not + * call operating system services and may therefore be inlined in the code.   *   * It may be necessary to tailor these include files to the target   * generation environment. diff --git a/include/acpi/platform/acenvex.h b/include/acpi/platform/acenvex.h index 0a7dc8e583b1..2f296cb5f7e2 100644 --- a/include/acpi/platform/acenvex.h +++ b/include/acpi/platform/acenvex.h @@ -56,6 +56,9 @@  #if defined(_LINUX) || defined(__linux__)  #include <acpi/platform/aclinuxex.h> +#elif defined(WIN32) +#include "acwinex.h" +  #elif defined(_AED_EFI)  #include "acefiex.h" diff --git a/include/acpi/platform/acmsvcex.h b/include/acpi/platform/acmsvcex.h new file mode 100644 index 000000000000..b64797488775 --- /dev/null +++ b/include/acpi/platform/acmsvcex.h @@ -0,0 +1,54 @@ +/****************************************************************************** + * + * Name: acmsvcex.h - Extra VC specific defines, etc. + * + *****************************************************************************/ + +/* + * Copyright (C) 2000 - 2015, Intel Corp. + * 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 __ACMSVCEX_H__ +#define __ACMSVCEX_H__ + +/* Debug support. */ + +#ifdef _DEBUG +#define _CRTDBG_MAP_ALLOC	/* Enables specific file/lineno for leaks */ +#include <crtdbg.h> +#endif + +#endif				/* __ACMSVCEX_H__ */ diff --git a/include/acpi/platform/acwinex.h b/include/acpi/platform/acwinex.h new file mode 100644 index 000000000000..6ed1d713509b --- /dev/null +++ b/include/acpi/platform/acwinex.h @@ -0,0 +1,49 @@ +/****************************************************************************** + * + * Name: acwinex.h - Extra OS specific defines, etc. + * + *****************************************************************************/ + +/* + * Copyright (C) 2000 - 2015, Intel Corp. + * 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 __ACWINEX_H__ +#define __ACWINEX_H__ + +/* Windows uses VC */ + +#endif				/* __ACWINEX_H__ */ diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 4188a4d3b597..ff5f135f16b1 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h @@ -228,10 +228,7 @@ extern int acpi_processor_preregister_performance(struct  extern int acpi_processor_register_performance(struct acpi_processor_performance  					       *performance, unsigned int cpu); -extern void acpi_processor_unregister_performance(struct -						  acpi_processor_performance -						  *performance, -						  unsigned int cpu); +extern void acpi_processor_unregister_performance(unsigned int cpu);  /* note: this locks both the calling module and the processor module           if a _PPC object exists, rmmod is disallowed then */ @@ -318,6 +315,7 @@ int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id);  void acpi_processor_set_pdc(acpi_handle handle);  /* in processor_throttling.c */ +#ifdef CONFIG_ACPI_CPU_FREQ_PSS  int acpi_processor_tstate_has_changed(struct acpi_processor *pr);  int acpi_processor_get_throttling_info(struct acpi_processor *pr);  extern int acpi_processor_set_throttling(struct acpi_processor *pr, @@ -330,14 +328,59 @@ extern void acpi_processor_reevaluate_tstate(struct acpi_processor *pr,  			unsigned long action);  extern const struct file_operations acpi_processor_throttling_fops;  extern void acpi_processor_throttling_init(void); +#else +static inline int acpi_processor_tstate_has_changed(struct acpi_processor *pr) +{ +	return 0; +} + +static inline int acpi_processor_get_throttling_info(struct acpi_processor *pr) +{ +	return -ENODEV; +} + +static inline int acpi_processor_set_throttling(struct acpi_processor *pr, +					 int state, bool force) +{ +	return -ENODEV; +} + +static inline void acpi_processor_reevaluate_tstate(struct acpi_processor *pr, +			unsigned long action) {} + +static inline void acpi_processor_throttling_init(void) {} +#endif	/* CONFIG_ACPI_CPU_FREQ_PSS */ +  /* in processor_idle.c */ +extern struct cpuidle_driver acpi_idle_driver; +#ifdef CONFIG_ACPI_PROCESSOR_IDLE  int acpi_processor_power_init(struct acpi_processor *pr);  int acpi_processor_power_exit(struct acpi_processor *pr);  int acpi_processor_cst_has_changed(struct acpi_processor *pr);  int acpi_processor_hotplug(struct acpi_processor *pr); -extern struct cpuidle_driver acpi_idle_driver; +#else +static inline int acpi_processor_power_init(struct acpi_processor *pr) +{ +	return -ENODEV; +} + +static inline int acpi_processor_power_exit(struct acpi_processor *pr) +{ +	return -ENODEV; +} + +static inline int acpi_processor_cst_has_changed(struct acpi_processor *pr) +{ +	return -ENODEV; +} -#ifdef CONFIG_PM_SLEEP +static inline int acpi_processor_hotplug(struct acpi_processor *pr) +{ +	return -ENODEV; +} +#endif /* CONFIG_ACPI_PROCESSOR_IDLE */ + +#if defined(CONFIG_PM_SLEEP) & defined(CONFIG_ACPI_PROCESSOR_IDLE)  void acpi_processor_syscore_init(void);  void acpi_processor_syscore_exit(void);  #else @@ -348,7 +391,7 @@ static inline void acpi_processor_syscore_exit(void) {}  /* in processor_thermal.c */  int acpi_processor_get_limit_info(struct acpi_processor *pr);  extern const struct thermal_cooling_device_ops processor_cooling_ops; -#ifdef CONFIG_CPU_FREQ +#if defined(CONFIG_ACPI_CPU_FREQ_PSS) & defined(CONFIG_CPU_FREQ)  void acpi_thermal_cpufreq_init(void);  void acpi_thermal_cpufreq_exit(void);  #else @@ -360,6 +403,6 @@ static inline void acpi_thermal_cpufreq_exit(void)  {  	return;  } -#endif +#endif	/* CONFIG_ACPI_CPU_FREQ_PSS */  #endif  |