diff options
Diffstat (limited to 'include/acpi/acoutput.h')
| -rw-r--r-- | include/acpi/acoutput.h | 103 |
1 files changed, 98 insertions, 5 deletions
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index db8852d8bcf..5c823d5ab78 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
| @@ -45,9 +45,9 @@ | |||
| 45 | #define __ACOUTPUT_H__ | 45 | #define __ACOUTPUT_H__ |
| 46 | 46 | ||
| 47 | /* | 47 | /* |
| 48 | * Debug levels and component IDs. These are used to control the | 48 | * Debug levels and component IDs. These are used to control the |
| 49 | * granularity of the output of the DEBUG_PRINT macro -- on a per- | 49 | * granularity of the output of the ACPI_DEBUG_PRINT macro -- on a |
| 50 | * component basis and a per-exception-type basis. | 50 | * per-component basis and a per-exception-type basis. |
| 51 | */ | 51 | */ |
| 52 | 52 | ||
| 53 | /* Component IDs are used in the global "DebugLayer" */ | 53 | /* Component IDs are used in the global "DebugLayer" */ |
| @@ -69,8 +69,10 @@ | |||
| 69 | 69 | ||
| 70 | #define ACPI_COMPILER 0x00001000 | 70 | #define ACPI_COMPILER 0x00001000 |
| 71 | #define ACPI_TOOLS 0x00002000 | 71 | #define ACPI_TOOLS 0x00002000 |
| 72 | #define ACPI_EXAMPLE 0x00004000 | ||
| 73 | #define ACPI_DRIVER 0x00008000 | ||
| 72 | 74 | ||
| 73 | #define ACPI_ALL_COMPONENTS 0x00003FFF | 75 | #define ACPI_ALL_COMPONENTS 0x0000FFFF |
| 74 | #define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) | 76 | #define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) |
| 75 | 77 | ||
| 76 | /* Component IDs reserved for ACPI drivers */ | 78 | /* Component IDs reserved for ACPI drivers */ |
| @@ -78,7 +80,7 @@ | |||
| 78 | #define ACPI_ALL_DRIVERS 0xFFFF0000 | 80 | #define ACPI_ALL_DRIVERS 0xFFFF0000 |
| 79 | 81 | ||
| 80 | /* | 82 | /* |
| 81 | * Raw debug output levels, do not use these in the DEBUG_PRINT macros | 83 | * Raw debug output levels, do not use these in the ACPI_DEBUG_PRINT macros |
| 82 | */ | 84 | */ |
| 83 | #define ACPI_LV_INIT 0x00000001 | 85 | #define ACPI_LV_INIT 0x00000001 |
| 84 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 | 86 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 |
| @@ -176,4 +178,95 @@ | |||
| 176 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT) | 178 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT) |
| 177 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) | 179 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) |
| 178 | 180 | ||
| 181 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) | ||
| 182 | /* | ||
| 183 | * Module name is included in both debug and non-debug versions primarily for | ||
| 184 | * error messages. The __FILE__ macro is not very useful for this, because it | ||
| 185 | * often includes the entire pathname to the module | ||
| 186 | */ | ||
| 187 | #define ACPI_MODULE_NAME(name) static const char ACPI_UNUSED_VAR _acpi_module_name[] = name; | ||
| 188 | #else | ||
| 189 | #define ACPI_MODULE_NAME(name) | ||
| 190 | #endif | ||
| 191 | |||
| 192 | /* | ||
| 193 | * Ascii error messages can be configured out | ||
| 194 | */ | ||
| 195 | #ifndef ACPI_NO_ERROR_MESSAGES | ||
| 196 | #define AE_INFO _acpi_module_name, __LINE__ | ||
| 197 | |||
| 198 | /* | ||
| 199 | * Error reporting. Callers module and line number are inserted by AE_INFO, | ||
| 200 | * the plist contains a set of parens to allow variable-length lists. | ||
| 201 | * These macros are used for both the debug and non-debug versions of the code. | ||
| 202 | */ | ||
| 203 | #define ACPI_INFO(plist) acpi_info plist | ||
| 204 | #define ACPI_WARNING(plist) acpi_warning plist | ||
| 205 | #define ACPI_EXCEPTION(plist) acpi_exception plist | ||
| 206 | #define ACPI_ERROR(plist) acpi_error plist | ||
| 207 | |||
| 208 | #else | ||
| 209 | |||
| 210 | /* No error messages */ | ||
| 211 | |||
| 212 | #define ACPI_INFO(plist) | ||
| 213 | #define ACPI_WARNING(plist) | ||
| 214 | #define ACPI_EXCEPTION(plist) | ||
| 215 | #define ACPI_ERROR(plist) | ||
| 216 | |||
| 217 | #endif /* ACPI_NO_ERROR_MESSAGES */ | ||
| 218 | |||
| 219 | /* | ||
| 220 | * Debug macros that are conditionally compiled | ||
| 221 | */ | ||
| 222 | #ifdef ACPI_DEBUG_OUTPUT | ||
| 223 | |||
| 224 | /* | ||
| 225 | * If ACPI_GET_FUNCTION_NAME was not defined in the compiler-dependent header, | ||
| 226 | * define it now. This is the case where there the compiler does not support | ||
| 227 | * a __FUNCTION__ macro or equivalent. | ||
| 228 | */ | ||
| 229 | #ifndef ACPI_GET_FUNCTION_NAME | ||
| 230 | #define ACPI_GET_FUNCTION_NAME _acpi_function_name | ||
| 231 | |||
| 232 | /* | ||
| 233 | * The Name parameter should be the procedure name as a quoted string. | ||
| 234 | * The function name is also used by the function exit macros below. | ||
| 235 | * Note: (const char) is used to be compatible with the debug interfaces | ||
| 236 | * and macros such as __FUNCTION__. | ||
| 237 | */ | ||
| 238 | #define ACPI_FUNCTION_NAME(name) static const char _acpi_function_name[] = #name; | ||
| 239 | |||
| 240 | #else | ||
| 241 | /* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */ | ||
| 242 | |||
| 243 | #define ACPI_FUNCTION_NAME(name) | ||
| 244 | #endif /* ACPI_GET_FUNCTION_NAME */ | ||
| 245 | |||
| 246 | /* | ||
| 247 | * Common parameters used for debug output functions: | ||
| 248 | * line number, function name, module(file) name, component ID | ||
| 249 | */ | ||
| 250 | #define ACPI_DEBUG_PARAMETERS __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT | ||
| 251 | |||
| 252 | /* | ||
| 253 | * Master debug print macros | ||
| 254 | * Print message if and only if: | ||
| 255 | * 1) Debug print for the current component is enabled | ||
| 256 | * 2) Debug error level or trace level for the print statement is enabled | ||
| 257 | */ | ||
| 258 | #define ACPI_DEBUG_PRINT(plist) acpi_debug_print plist | ||
| 259 | #define ACPI_DEBUG_PRINT_RAW(plist) acpi_debug_print_raw plist | ||
| 260 | |||
| 261 | #else | ||
| 262 | /* | ||
| 263 | * This is the non-debug case -- make everything go away, | ||
| 264 | * leaving no executable debug code! | ||
| 265 | */ | ||
| 266 | #define ACPI_FUNCTION_NAME(a) | ||
| 267 | #define ACPI_DEBUG_PRINT(pl) | ||
| 268 | #define ACPI_DEBUG_PRINT_RAW(pl) | ||
| 269 | |||
| 270 | #endif /* ACPI_DEBUG_OUTPUT */ | ||
| 271 | |||
| 179 | #endif /* __ACOUTPUT_H__ */ | 272 | #endif /* __ACOUTPUT_H__ */ |
