diff options
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acexcep.h | 2 | ||||
-rw-r--r-- | include/acpi/acnames.h | 2 | ||||
-rw-r--r-- | include/acpi/acoutput.h | 14 | ||||
-rw-r--r-- | include/acpi/acpi.h | 2 | ||||
-rw-r--r-- | include/acpi/acpi_bus.h | 29 | ||||
-rw-r--r-- | include/acpi/acpi_drivers.h | 2 | ||||
-rw-r--r-- | include/acpi/acpiosxf.h | 20 | ||||
-rw-r--r-- | include/acpi/acpixf.h | 29 | ||||
-rw-r--r-- | include/acpi/acrestyp.h | 2 | ||||
-rw-r--r-- | include/acpi/actbl.h | 20 | ||||
-rw-r--r-- | include/acpi/actbl1.h | 4 | ||||
-rw-r--r-- | include/acpi/actbl2.h | 66 | ||||
-rw-r--r-- | include/acpi/actypes.h | 109 | ||||
-rw-r--r-- | include/acpi/apei.h | 11 | ||||
-rw-r--r-- | include/acpi/platform/acenv.h | 8 | ||||
-rw-r--r-- | include/acpi/platform/acgcc.h | 4 | ||||
-rw-r--r-- | include/acpi/platform/aclinux.h | 27 | ||||
-rw-r--r-- | include/acpi/processor.h | 13 | ||||
-rw-r--r-- | include/acpi/video.h | 5 |
19 files changed, 259 insertions, 110 deletions
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h index 17714beb868e..5b6c391efc8e 100644 --- a/include/acpi/acexcep.h +++ b/include/acpi/acexcep.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h index 9cf736ea4691..fc1575fd4596 100644 --- a/include/acpi/acnames.h +++ b/include/acpi/acnames.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index bc4a6deb73b0..d7bd661bfae7 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -183,13 +183,19 @@ | |||
183 | 183 | ||
184 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) | 184 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) |
185 | /* | 185 | /* |
186 | * Module name is included in both debug and non-debug versions primarily for | 186 | * The module name is used primarily for error and debug messages. |
187 | * error messages. The __FILE__ macro is not very useful for this, because it | 187 | * The __FILE__ macro is not very useful for this, because it |
188 | * often includes the entire pathname to the module | 188 | * usually includes the entire pathname to the module making the |
189 | * debug output difficult to read. | ||
189 | */ | 190 | */ |
190 | #define ACPI_MODULE_NAME(name) static const char ACPI_UNUSED_VAR _acpi_module_name[] = name; | 191 | #define ACPI_MODULE_NAME(name) static const char ACPI_UNUSED_VAR _acpi_module_name[] = name; |
191 | #else | 192 | #else |
193 | /* | ||
194 | * For the no-debug and no-error-msg cases, we must at least define | ||
195 | * a null module name. | ||
196 | */ | ||
192 | #define ACPI_MODULE_NAME(name) | 197 | #define ACPI_MODULE_NAME(name) |
198 | #define _acpi_module_name "" | ||
193 | #endif | 199 | #endif |
194 | 200 | ||
195 | /* | 201 | /* |
diff --git a/include/acpi/acpi.h b/include/acpi/acpi.h index a091cabca4b1..de39915f6b7f 100644 --- a/include/acpi/acpi.h +++ b/include/acpi/acpi.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 4de84ce3a927..6cd5b6403a7b 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -148,9 +148,7 @@ struct acpi_device_flags { | |||
148 | u32 suprise_removal_ok:1; | 148 | u32 suprise_removal_ok:1; |
149 | u32 power_manageable:1; | 149 | u32 power_manageable:1; |
150 | u32 performance_manageable:1; | 150 | u32 performance_manageable:1; |
151 | u32 wake_capable:1; /* Wakeup(_PRW) supported? */ | 151 | u32 reserved:24; |
152 | u32 force_power_state:1; | ||
153 | u32 reserved:22; | ||
154 | }; | 152 | }; |
155 | 153 | ||
156 | /* File System */ | 154 | /* File System */ |
@@ -184,7 +182,7 @@ struct acpi_device_pnp { | |||
184 | 182 | ||
185 | #define acpi_device_bid(d) ((d)->pnp.bus_id) | 183 | #define acpi_device_bid(d) ((d)->pnp.bus_id) |
186 | #define acpi_device_adr(d) ((d)->pnp.bus_address) | 184 | #define acpi_device_adr(d) ((d)->pnp.bus_address) |
187 | char *acpi_device_hid(struct acpi_device *device); | 185 | const char *acpi_device_hid(struct acpi_device *device); |
188 | #define acpi_device_name(d) ((d)->pnp.device_name) | 186 | #define acpi_device_name(d) ((d)->pnp.device_name) |
189 | #define acpi_device_class(d) ((d)->pnp.device_class) | 187 | #define acpi_device_class(d) ((d)->pnp.device_class) |
190 | 188 | ||
@@ -212,7 +210,7 @@ struct acpi_device_power_state { | |||
212 | struct acpi_device_power { | 210 | struct acpi_device_power { |
213 | int state; /* Current state */ | 211 | int state; /* Current state */ |
214 | struct acpi_device_power_flags flags; | 212 | struct acpi_device_power_flags flags; |
215 | struct acpi_device_power_state states[4]; /* Power states (D0-D3) */ | 213 | struct acpi_device_power_state states[ACPI_D_STATE_COUNT]; /* Power states (D0-D3Cold) */ |
216 | }; | 214 | }; |
217 | 215 | ||
218 | /* Performance Management */ | 216 | /* Performance Management */ |
@@ -242,23 +240,16 @@ struct acpi_device_perf { | |||
242 | struct acpi_device_wakeup_flags { | 240 | struct acpi_device_wakeup_flags { |
243 | u8 valid:1; /* Can successfully enable wakeup? */ | 241 | u8 valid:1; /* Can successfully enable wakeup? */ |
244 | u8 run_wake:1; /* Run-Wake GPE devices */ | 242 | u8 run_wake:1; /* Run-Wake GPE devices */ |
245 | u8 always_enabled:1; /* Run-wake devices that are always enabled */ | ||
246 | u8 notifier_present:1; /* Wake-up notify handler has been installed */ | 243 | u8 notifier_present:1; /* Wake-up notify handler has been installed */ |
247 | }; | 244 | }; |
248 | 245 | ||
249 | struct acpi_device_wakeup_state { | ||
250 | u8 enabled:1; | ||
251 | }; | ||
252 | |||
253 | struct acpi_device_wakeup { | 246 | struct acpi_device_wakeup { |
254 | acpi_handle gpe_device; | 247 | acpi_handle gpe_device; |
255 | u64 gpe_number; | 248 | u64 gpe_number; |
256 | u64 sleep_state; | 249 | u64 sleep_state; |
257 | struct acpi_handle_list resources; | 250 | struct acpi_handle_list resources; |
258 | struct acpi_device_wakeup_state state; | ||
259 | struct acpi_device_wakeup_flags flags; | 251 | struct acpi_device_wakeup_flags flags; |
260 | int prepare_count; | 252 | int prepare_count; |
261 | int run_wake_count; | ||
262 | }; | 253 | }; |
263 | 254 | ||
264 | /* Device */ | 255 | /* Device */ |
@@ -328,8 +319,8 @@ void acpi_bus_data_handler(acpi_handle handle, void *context); | |||
328 | acpi_status acpi_bus_get_status_handle(acpi_handle handle, | 319 | acpi_status acpi_bus_get_status_handle(acpi_handle handle, |
329 | unsigned long long *sta); | 320 | unsigned long long *sta); |
330 | int acpi_bus_get_status(struct acpi_device *device); | 321 | int acpi_bus_get_status(struct acpi_device *device); |
331 | int acpi_bus_get_power(acpi_handle handle, int *state); | ||
332 | int acpi_bus_set_power(acpi_handle handle, int state); | 322 | int acpi_bus_set_power(acpi_handle handle, int state); |
323 | int acpi_bus_update_power(acpi_handle handle, int *state_p); | ||
333 | bool acpi_bus_power_manageable(acpi_handle handle); | 324 | bool acpi_bus_power_manageable(acpi_handle handle); |
334 | bool acpi_bus_can_wakeup(acpi_handle handle); | 325 | bool acpi_bus_can_wakeup(acpi_handle handle); |
335 | #ifdef CONFIG_ACPI_PROC_EVENT | 326 | #ifdef CONFIG_ACPI_PROC_EVENT |
@@ -389,21 +380,25 @@ struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle); | |||
389 | int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state); | 380 | int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state); |
390 | int acpi_disable_wakeup_device_power(struct acpi_device *dev); | 381 | int acpi_disable_wakeup_device_power(struct acpi_device *dev); |
391 | 382 | ||
392 | #ifdef CONFIG_PM_SLEEP | 383 | #ifdef CONFIG_PM |
393 | int acpi_pm_device_sleep_state(struct device *, int *); | 384 | int acpi_pm_device_sleep_state(struct device *, int *); |
394 | int acpi_pm_device_sleep_wake(struct device *, bool); | 385 | #else |
395 | #else /* !CONFIG_PM_SLEEP */ | ||
396 | static inline int acpi_pm_device_sleep_state(struct device *d, int *p) | 386 | static inline int acpi_pm_device_sleep_state(struct device *d, int *p) |
397 | { | 387 | { |
398 | if (p) | 388 | if (p) |
399 | *p = ACPI_STATE_D0; | 389 | *p = ACPI_STATE_D0; |
400 | return ACPI_STATE_D3; | 390 | return ACPI_STATE_D3; |
401 | } | 391 | } |
392 | #endif | ||
393 | |||
394 | #ifdef CONFIG_PM_SLEEP | ||
395 | int acpi_pm_device_sleep_wake(struct device *, bool); | ||
396 | #else | ||
402 | static inline int acpi_pm_device_sleep_wake(struct device *dev, bool enable) | 397 | static inline int acpi_pm_device_sleep_wake(struct device *dev, bool enable) |
403 | { | 398 | { |
404 | return -ENODEV; | 399 | return -ENODEV; |
405 | } | 400 | } |
406 | #endif /* !CONFIG_PM_SLEEP */ | 401 | #endif |
407 | 402 | ||
408 | #endif /* CONFIG_ACPI */ | 403 | #endif /* CONFIG_ACPI */ |
409 | 404 | ||
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index 23d78b4d088b..3090471b2a5e 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h | |||
@@ -115,8 +115,6 @@ void pci_acpi_crs_quirks(void); | |||
115 | #define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01 | 115 | #define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01 |
116 | #define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02 | 116 | #define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02 |
117 | 117 | ||
118 | int acpi_processor_set_thermal_limit(acpi_handle handle, int type); | ||
119 | |||
120 | /*-------------------------------------------------------------------------- | 118 | /*-------------------------------------------------------------------------- |
121 | Dock Station | 119 | Dock Station |
122 | -------------------------------------------------------------------------- */ | 120 | -------------------------------------------------------------------------- */ |
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 29bf945143e8..4543b6f75867 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h | |||
@@ -8,7 +8,7 @@ | |||
8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
9 | 9 | ||
10 | /* | 10 | /* |
11 | * Copyright (C) 2000 - 2010, Intel Corp. | 11 | * Copyright (C) 2000 - 2011, Intel Corp. |
12 | * All rights reserved. | 12 | * All rights reserved. |
13 | * | 13 | * |
14 | * Redistribution and use in source and binary forms, with or without | 14 | * Redistribution and use in source and binary forms, with or without |
@@ -98,7 +98,11 @@ acpi_os_table_override(struct acpi_table_header *existing_table, | |||
98 | /* | 98 | /* |
99 | * Spinlock primitives | 99 | * Spinlock primitives |
100 | */ | 100 | */ |
101 | acpi_status acpi_os_create_lock(acpi_spinlock * out_handle); | 101 | |
102 | #ifndef acpi_os_create_lock | ||
103 | acpi_status | ||
104 | acpi_os_create_lock(acpi_spinlock *out_handle); | ||
105 | #endif | ||
102 | 106 | ||
103 | void acpi_os_delete_lock(acpi_spinlock handle); | 107 | void acpi_os_delete_lock(acpi_spinlock handle); |
104 | 108 | ||
@@ -223,25 +227,15 @@ acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); | |||
223 | */ | 227 | */ |
224 | acpi_status | 228 | acpi_status |
225 | acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, | 229 | acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, |
226 | u32 reg, u32 *value, u32 width); | 230 | u32 reg, u64 *value, u32 width); |
227 | 231 | ||
228 | acpi_status | 232 | acpi_status |
229 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, | 233 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, |
230 | u32 reg, u64 value, u32 width); | 234 | u32 reg, u64 value, u32 width); |
231 | 235 | ||
232 | /* | 236 | /* |
233 | * Interim function needed for PCI IRQ routing | ||
234 | */ | ||
235 | void | ||
236 | acpi_os_derive_pci_id(acpi_handle device, | ||
237 | acpi_handle region, struct acpi_pci_id **pci_id); | ||
238 | |||
239 | /* | ||
240 | * Miscellaneous | 237 | * Miscellaneous |
241 | */ | 238 | */ |
242 | acpi_status acpi_os_validate_interface(char *interface); | ||
243 | acpi_status acpi_osi_invalidate(char* interface); | ||
244 | |||
245 | acpi_status | 239 | acpi_status |
246 | acpi_os_validate_address(u8 space_id, acpi_physical_address address, | 240 | acpi_os_validate_address(u8 space_id, acpi_physical_address address, |
247 | acpi_size length, char *name); | 241 | acpi_size length, char *name); |
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index 984cdc62e30b..2ed0a8486c19 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h | |||
@@ -6,7 +6,7 @@ | |||
6 | *****************************************************************************/ | 6 | *****************************************************************************/ |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * Copyright (C) 2000 - 2010, Intel Corp. | 9 | * Copyright (C) 2000 - 2011, Intel Corp. |
10 | * All rights reserved. | 10 | * All rights reserved. |
11 | * | 11 | * |
12 | * Redistribution and use in source and binary forms, with or without | 12 | * Redistribution and use in source and binary forms, with or without |
@@ -47,7 +47,7 @@ | |||
47 | 47 | ||
48 | /* Current ACPICA subsystem version in YYYYMMDD format */ | 48 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
49 | 49 | ||
50 | #define ACPI_CA_VERSION 0x20100702 | 50 | #define ACPI_CA_VERSION 0x20110413 |
51 | 51 | ||
52 | #include "actypes.h" | 52 | #include "actypes.h" |
53 | #include "actbl.h" | 53 | #include "actbl.h" |
@@ -72,6 +72,7 @@ extern u8 acpi_gbl_truncate_io_addresses; | |||
72 | 72 | ||
73 | extern u32 acpi_current_gpe_count; | 73 | extern u32 acpi_current_gpe_count; |
74 | extern struct acpi_table_fadt acpi_gbl_FADT; | 74 | extern struct acpi_table_fadt acpi_gbl_FADT; |
75 | extern u8 acpi_gbl_system_awake_and_running; | ||
75 | 76 | ||
76 | extern u32 acpi_rsdt_forced; | 77 | extern u32 acpi_rsdt_forced; |
77 | /* | 78 | /* |
@@ -105,6 +106,10 @@ const char *acpi_format_exception(acpi_status exception); | |||
105 | 106 | ||
106 | acpi_status acpi_purge_cached_objects(void); | 107 | acpi_status acpi_purge_cached_objects(void); |
107 | 108 | ||
109 | acpi_status acpi_install_interface(acpi_string interface_name); | ||
110 | |||
111 | acpi_status acpi_remove_interface(acpi_string interface_name); | ||
112 | |||
108 | /* | 113 | /* |
109 | * ACPI Memory management | 114 | * ACPI Memory management |
110 | */ | 115 | */ |
@@ -224,6 +229,10 @@ acpi_status | |||
224 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); | 229 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); |
225 | 230 | ||
226 | acpi_status | 231 | acpi_status |
232 | acpi_install_global_event_handler(ACPI_GBL_EVENT_HANDLER handler, | ||
233 | void *context); | ||
234 | |||
235 | acpi_status | ||
227 | acpi_install_fixed_event_handler(u32 acpi_event, | 236 | acpi_install_fixed_event_handler(u32 acpi_event, |
228 | acpi_event_handler handler, void *context); | 237 | acpi_event_handler handler, void *context); |
229 | 238 | ||
@@ -253,16 +262,18 @@ acpi_remove_address_space_handler(acpi_handle device, | |||
253 | acpi_status | 262 | acpi_status |
254 | acpi_install_gpe_handler(acpi_handle gpe_device, | 263 | acpi_install_gpe_handler(acpi_handle gpe_device, |
255 | u32 gpe_number, | 264 | u32 gpe_number, |
256 | u32 type, acpi_event_handler address, void *context); | 265 | u32 type, acpi_gpe_handler address, void *context); |
257 | 266 | ||
258 | acpi_status | 267 | acpi_status |
259 | acpi_remove_gpe_handler(acpi_handle gpe_device, | 268 | acpi_remove_gpe_handler(acpi_handle gpe_device, |
260 | u32 gpe_number, acpi_event_handler address); | 269 | u32 gpe_number, acpi_gpe_handler address); |
261 | 270 | ||
262 | #ifdef ACPI_FUTURE_USAGE | 271 | #ifdef ACPI_FUTURE_USAGE |
263 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); | 272 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); |
264 | #endif | 273 | #endif |
265 | 274 | ||
275 | acpi_status acpi_install_interface_handler(acpi_interface_handler handler); | ||
276 | |||
266 | /* | 277 | /* |
267 | * Event interfaces | 278 | * Event interfaces |
268 | */ | 279 | */ |
@@ -285,11 +296,13 @@ acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number); | |||
285 | 296 | ||
286 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); | 297 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); |
287 | 298 | ||
288 | acpi_status acpi_gpe_can_wake(acpi_handle gpe_device, u32 gpe_number); | ||
289 | |||
290 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); | 299 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); |
291 | 300 | ||
292 | acpi_status acpi_gpe_wakeup(acpi_handle gpe_device, u32 gpe_number, u8 action); | 301 | acpi_status |
302 | acpi_setup_gpe_for_wake(acpi_handle parent_device, | ||
303 | acpi_handle gpe_device, u32 gpe_number); | ||
304 | |||
305 | acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action); | ||
293 | 306 | ||
294 | acpi_status | 307 | acpi_status |
295 | acpi_get_gpe_status(acpi_handle gpe_device, | 308 | acpi_get_gpe_status(acpi_handle gpe_device, |
@@ -308,6 +321,8 @@ acpi_install_gpe_block(acpi_handle gpe_device, | |||
308 | 321 | ||
309 | acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); | 322 | acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); |
310 | 323 | ||
324 | acpi_status acpi_update_all_gpes(void); | ||
325 | |||
311 | /* | 326 | /* |
312 | * Resource interfaces | 327 | * Resource interfaces |
313 | */ | 328 | */ |
diff --git a/include/acpi/acrestyp.h b/include/acpi/acrestyp.h index e5526354ba5e..0a66cc45dd6b 100644 --- a/include/acpi/acrestyp.h +++ b/include/acpi/acrestyp.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h index ad2001683ba7..f1380287ed4d 100644 --- a/include/acpi/actbl.h +++ b/include/acpi/actbl.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -290,7 +290,7 @@ struct acpi_table_fadt { | |||
290 | #define ACPI_FADT_APIC_CLUSTER (1<<18) /* 18: [V4] All local APICs must use cluster model (ACPI 3.0) */ | 290 | #define ACPI_FADT_APIC_CLUSTER (1<<18) /* 18: [V4] All local APICs must use cluster model (ACPI 3.0) */ |
291 | #define ACPI_FADT_APIC_PHYSICAL (1<<19) /* 19: [V4] All local x_aPICs must use physical dest mode (ACPI 3.0) */ | 291 | #define ACPI_FADT_APIC_PHYSICAL (1<<19) /* 19: [V4] All local x_aPICs must use physical dest mode (ACPI 3.0) */ |
292 | 292 | ||
293 | /* Values for preferred_profile (Prefered Power Management Profiles) */ | 293 | /* Values for preferred_profile (Preferred Power Management Profiles) */ |
294 | 294 | ||
295 | enum acpi_prefered_pm_profiles { | 295 | enum acpi_prefered_pm_profiles { |
296 | PM_UNSPECIFIED = 0, | 296 | PM_UNSPECIFIED = 0, |
@@ -343,4 +343,20 @@ struct acpi_table_desc { | |||
343 | #include <acpi/actbl1.h> | 343 | #include <acpi/actbl1.h> |
344 | #include <acpi/actbl2.h> | 344 | #include <acpi/actbl2.h> |
345 | 345 | ||
346 | /* | ||
347 | * Sizes of the various flavors of FADT. We need to look closely | ||
348 | * at the FADT length because the version number essentially tells | ||
349 | * us nothing because of many BIOS bugs where the version does not | ||
350 | * match the expected length. In other words, the length of the | ||
351 | * FADT is the bottom line as to what the version really is. | ||
352 | * | ||
353 | * For reference, the values below are as follows: | ||
354 | * FADT V1 size: 0x74 | ||
355 | * FADT V2 size: 0x84 | ||
356 | * FADT V3+ size: 0xF4 | ||
357 | */ | ||
358 | #define ACPI_FADT_V1_SIZE (u32) (ACPI_FADT_OFFSET (flags) + 4) | ||
359 | #define ACPI_FADT_V2_SIZE (u32) (ACPI_FADT_OFFSET (reserved4[0]) + 3) | ||
360 | #define ACPI_FADT_V3_SIZE (u32) (sizeof (struct acpi_table_fadt)) | ||
361 | |||
346 | #endif /* __ACTBL_H__ */ | 362 | #endif /* __ACTBL_H__ */ |
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index c637b75b9f3f..7504bc99b29b 100644 --- a/include/acpi/actbl1.h +++ b/include/acpi/actbl1.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -119,7 +119,7 @@ struct acpi_whea_header { | |||
119 | struct acpi_table_bert { | 119 | struct acpi_table_bert { |
120 | struct acpi_table_header header; /* Common ACPI table header */ | 120 | struct acpi_table_header header; /* Common ACPI table header */ |
121 | u32 region_length; /* Length of the boot error region */ | 121 | u32 region_length; /* Length of the boot error region */ |
122 | u64 address; /* Physical addresss of the error region */ | 122 | u64 address; /* Physical address of the error region */ |
123 | }; | 123 | }; |
124 | 124 | ||
125 | /* Boot Error Region (not a subtable, pointed to by Address field above) */ | 125 | /* Boot Error Region (not a subtable, pointed to by Address field above) */ |
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index d4136b28011f..58bdd0545c5a 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h | |||
@@ -1,11 +1,11 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * | 2 | * |
3 | * Name: actbl2.h - ACPI Specification Revision 2.0 Tables | 3 | * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) |
4 | * | 4 | * |
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -716,6 +716,68 @@ struct acpi_table_mchi { | |||
716 | 716 | ||
717 | /******************************************************************************* | 717 | /******************************************************************************* |
718 | * | 718 | * |
719 | * SLIC - Software Licensing Description Table | ||
720 | * Version 1 | ||
721 | * | ||
722 | * Conforms to "OEM Activation 2.0 for Windows Vista Operating Systems", | ||
723 | * Copyright 2006 | ||
724 | * | ||
725 | ******************************************************************************/ | ||
726 | |||
727 | /* Basic SLIC table is only the common ACPI header */ | ||
728 | |||
729 | struct acpi_table_slic { | ||
730 | struct acpi_table_header header; /* Common ACPI table header */ | ||
731 | }; | ||
732 | |||
733 | /* Common SLIC subtable header */ | ||
734 | |||
735 | struct acpi_slic_header { | ||
736 | u32 type; | ||
737 | u32 length; | ||
738 | }; | ||
739 | |||
740 | /* Values for Type field above */ | ||
741 | |||
742 | enum acpi_slic_type { | ||
743 | ACPI_SLIC_TYPE_PUBLIC_KEY = 0, | ||
744 | ACPI_SLIC_TYPE_WINDOWS_MARKER = 1, | ||
745 | ACPI_SLIC_TYPE_RESERVED = 2 /* 2 and greater are reserved */ | ||
746 | }; | ||
747 | |||
748 | /* | ||
749 | * SLIC Sub-tables, correspond to Type in struct acpi_slic_header | ||
750 | */ | ||
751 | |||
752 | /* 0: Public Key Structure */ | ||
753 | |||
754 | struct acpi_slic_key { | ||
755 | struct acpi_slic_header header; | ||
756 | u8 key_type; | ||
757 | u8 version; | ||
758 | u16 reserved; | ||
759 | u32 algorithm; | ||
760 | char magic[4]; | ||
761 | u32 bit_length; | ||
762 | u32 exponent; | ||
763 | u8 modulus[128]; | ||
764 | }; | ||
765 | |||
766 | /* 1: Windows Marker Structure */ | ||
767 | |||
768 | struct acpi_slic_marker { | ||
769 | struct acpi_slic_header header; | ||
770 | u32 version; | ||
771 | char oem_id[ACPI_OEM_ID_SIZE]; /* ASCII OEM identification */ | ||
772 | char oem_table_id[ACPI_OEM_TABLE_ID_SIZE]; /* ASCII OEM table identification */ | ||
773 | char windows_flag[8]; | ||
774 | u32 slic_version; | ||
775 | u8 reserved[16]; | ||
776 | u8 signature[128]; | ||
777 | }; | ||
778 | |||
779 | /******************************************************************************* | ||
780 | * | ||
719 | * SPCR - Serial Port Console Redirection table | 781 | * SPCR - Serial Port Console Redirection table |
720 | * Version 1 | 782 | * Version 1 |
721 | * | 783 | * |
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 5db8f472fec9..b67231bef632 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -115,7 +115,6 @@ | |||
115 | * | 115 | * |
116 | * ACPI_SIZE 16/32/64-bit unsigned value | 116 | * ACPI_SIZE 16/32/64-bit unsigned value |
117 | * ACPI_NATIVE_INT 16/32/64-bit signed value | 117 | * ACPI_NATIVE_INT 16/32/64-bit signed value |
118 | * | ||
119 | */ | 118 | */ |
120 | 119 | ||
121 | /******************************************************************************* | 120 | /******************************************************************************* |
@@ -132,6 +131,16 @@ typedef COMPILER_DEPENDENT_INT64 INT64; | |||
132 | 131 | ||
133 | /*! [End] no source code translation !*/ | 132 | /*! [End] no source code translation !*/ |
134 | 133 | ||
134 | /* | ||
135 | * Value returned by acpi_os_get_thread_id. There is no standard "thread_id" | ||
136 | * across operating systems or even the various UNIX systems. Since ACPICA | ||
137 | * only needs the thread ID as a unique thread identifier, we use a u64 | ||
138 | * as the only common data type - it will accommodate any type of pointer or | ||
139 | * any type of integer. It is up to the host-dependent OSL to cast the | ||
140 | * native thread ID type to a u64 (in acpi_os_get_thread_id). | ||
141 | */ | ||
142 | #define acpi_thread_id u64 | ||
143 | |||
135 | /******************************************************************************* | 144 | /******************************************************************************* |
136 | * | 145 | * |
137 | * Types specific to 64-bit targets | 146 | * Types specific to 64-bit targets |
@@ -211,12 +220,6 @@ typedef u32 acpi_physical_address; | |||
211 | * | 220 | * |
212 | ******************************************************************************/ | 221 | ******************************************************************************/ |
213 | 222 | ||
214 | /* Value returned by acpi_os_get_thread_id */ | ||
215 | |||
216 | #ifndef acpi_thread_id | ||
217 | #define acpi_thread_id acpi_size | ||
218 | #endif | ||
219 | |||
220 | /* Flags for acpi_os_acquire_lock/acpi_os_release_lock */ | 223 | /* Flags for acpi_os_acquire_lock/acpi_os_release_lock */ |
221 | 224 | ||
222 | #ifndef acpi_cpu_flags | 225 | #ifndef acpi_cpu_flags |
@@ -375,16 +378,6 @@ typedef void *acpi_handle; /* Actually a ptr to a NS Node */ | |||
375 | typedef u8 acpi_owner_id; | 378 | typedef u8 acpi_owner_id; |
376 | #define ACPI_OWNER_ID_MAX 0xFF | 379 | #define ACPI_OWNER_ID_MAX 0xFF |
377 | 380 | ||
378 | struct uint64_struct { | ||
379 | u32 lo; | ||
380 | u32 hi; | ||
381 | }; | ||
382 | |||
383 | union uint64_overlay { | ||
384 | u64 full; | ||
385 | struct uint64_struct part; | ||
386 | }; | ||
387 | |||
388 | #define ACPI_INTEGER_BIT_SIZE 64 | 381 | #define ACPI_INTEGER_BIT_SIZE 64 |
389 | #define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ | 382 | #define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ |
390 | 383 | ||
@@ -508,8 +501,9 @@ typedef u64 acpi_integer; | |||
508 | #define ACPI_STATE_D1 (u8) 1 | 501 | #define ACPI_STATE_D1 (u8) 1 |
509 | #define ACPI_STATE_D2 (u8) 2 | 502 | #define ACPI_STATE_D2 (u8) 2 |
510 | #define ACPI_STATE_D3 (u8) 3 | 503 | #define ACPI_STATE_D3 (u8) 3 |
511 | #define ACPI_D_STATES_MAX ACPI_STATE_D3 | 504 | #define ACPI_STATE_D3_COLD (u8) 4 |
512 | #define ACPI_D_STATE_COUNT 4 | 505 | #define ACPI_D_STATES_MAX ACPI_STATE_D3_COLD |
506 | #define ACPI_D_STATE_COUNT 5 | ||
513 | 507 | ||
514 | #define ACPI_STATE_C0 (u8) 0 | 508 | #define ACPI_STATE_C0 (u8) 0 |
515 | #define ACPI_STATE_C1 (u8) 1 | 509 | #define ACPI_STATE_C1 (u8) 1 |
@@ -663,33 +657,34 @@ typedef u32 acpi_event_status; | |||
663 | #define ACPI_GPE_MAX 0xFF | 657 | #define ACPI_GPE_MAX 0xFF |
664 | #define ACPI_NUM_GPE 256 | 658 | #define ACPI_NUM_GPE 256 |
665 | 659 | ||
666 | /* Actions for acpi_gpe_wakeup, acpi_hw_low_set_gpe */ | 660 | /* Actions for acpi_set_gpe_wake_mask, acpi_hw_low_set_gpe */ |
667 | 661 | ||
668 | #define ACPI_GPE_ENABLE 0 | 662 | #define ACPI_GPE_ENABLE 0 |
669 | #define ACPI_GPE_DISABLE 1 | 663 | #define ACPI_GPE_DISABLE 1 |
670 | #define ACPI_GPE_COND_ENABLE 2 | 664 | #define ACPI_GPE_CONDITIONAL_ENABLE 2 |
671 | 665 | ||
672 | /* | 666 | /* |
673 | * GPE info flags - Per GPE | 667 | * GPE info flags - Per GPE |
674 | * +-------+---+-+-+ | 668 | * +-------+-+-+---+ |
675 | * | 7:4 |3:2|1|0| | 669 | * | 7:4 |3|2|1:0| |
676 | * +-------+---+-+-+ | 670 | * +-------+-+-+---+ |
677 | * | | | | | 671 | * | | | | |
678 | * | | | +--- Interrupt type: edge or level triggered | 672 | * | | | +-- Type of dispatch:to method, handler, notify, or none |
679 | * | | +----- GPE can wake the system | 673 | * | | +----- Interrupt type: edge or level triggered |
680 | * | +-------- Type of dispatch:to method, handler, or none | 674 | * | +------- Is a Wake GPE |
681 | * +-------------- <Reserved> | 675 | * +------------ <Reserved> |
682 | */ | 676 | */ |
683 | #define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01 | 677 | #define ACPI_GPE_DISPATCH_NONE (u8) 0x00 |
684 | #define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x01 | 678 | #define ACPI_GPE_DISPATCH_METHOD (u8) 0x01 |
685 | #define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00 | 679 | #define ACPI_GPE_DISPATCH_HANDLER (u8) 0x02 |
680 | #define ACPI_GPE_DISPATCH_NOTIFY (u8) 0x03 | ||
681 | #define ACPI_GPE_DISPATCH_MASK (u8) 0x03 | ||
686 | 682 | ||
687 | #define ACPI_GPE_CAN_WAKE (u8) 0x02 | 683 | #define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x04 |
684 | #define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00 | ||
685 | #define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x04 | ||
688 | 686 | ||
689 | #define ACPI_GPE_DISPATCH_MASK (u8) 0x0C | 687 | #define ACPI_GPE_CAN_WAKE (u8) 0x08 |
690 | #define ACPI_GPE_DISPATCH_HANDLER (u8) 0x04 | ||
691 | #define ACPI_GPE_DISPATCH_METHOD (u8) 0x08 | ||
692 | #define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00 | ||
693 | 688 | ||
694 | /* | 689 | /* |
695 | * Flags for GPE and Lock interfaces | 690 | * Flags for GPE and Lock interfaces |
@@ -718,8 +713,24 @@ typedef u8 acpi_adr_space_type; | |||
718 | #define ACPI_ADR_SPACE_CMOS (acpi_adr_space_type) 5 | 713 | #define ACPI_ADR_SPACE_CMOS (acpi_adr_space_type) 5 |
719 | #define ACPI_ADR_SPACE_PCI_BAR_TARGET (acpi_adr_space_type) 6 | 714 | #define ACPI_ADR_SPACE_PCI_BAR_TARGET (acpi_adr_space_type) 6 |
720 | #define ACPI_ADR_SPACE_IPMI (acpi_adr_space_type) 7 | 715 | #define ACPI_ADR_SPACE_IPMI (acpi_adr_space_type) 7 |
721 | #define ACPI_ADR_SPACE_DATA_TABLE (acpi_adr_space_type) 8 | 716 | |
722 | #define ACPI_ADR_SPACE_FIXED_HARDWARE (acpi_adr_space_type) 127 | 717 | #define ACPI_NUM_PREDEFINED_REGIONS 8 |
718 | |||
719 | /* | ||
720 | * Special Address Spaces | ||
721 | * | ||
722 | * Note: A Data Table region is a special type of operation region | ||
723 | * that has its own AML opcode. However, internally, the AML | ||
724 | * interpreter simply creates an operation region with an an address | ||
725 | * space type of ACPI_ADR_SPACE_DATA_TABLE. | ||
726 | */ | ||
727 | #define ACPI_ADR_SPACE_DATA_TABLE (acpi_adr_space_type) 0x7E /* Internal to ACPICA only */ | ||
728 | #define ACPI_ADR_SPACE_FIXED_HARDWARE (acpi_adr_space_type) 0x7F | ||
729 | |||
730 | /* Values for _REG connection code */ | ||
731 | |||
732 | #define ACPI_REG_DISCONNECT 0 | ||
733 | #define ACPI_REG_CONNECT 1 | ||
723 | 734 | ||
724 | /* | 735 | /* |
725 | * bit_register IDs | 736 | * bit_register IDs |
@@ -901,9 +912,20 @@ typedef void | |||
901 | /* | 912 | /* |
902 | * Various handlers and callback procedures | 913 | * Various handlers and callback procedures |
903 | */ | 914 | */ |
915 | typedef | ||
916 | void (*ACPI_GBL_EVENT_HANDLER) (u32 event_type, | ||
917 | acpi_handle device, | ||
918 | u32 event_number, void *context); | ||
919 | |||
920 | #define ACPI_EVENT_TYPE_GPE 0 | ||
921 | #define ACPI_EVENT_TYPE_FIXED 1 | ||
922 | |||
904 | typedef u32(*acpi_event_handler) (void *context); | 923 | typedef u32(*acpi_event_handler) (void *context); |
905 | 924 | ||
906 | typedef | 925 | typedef |
926 | u32 (*acpi_gpe_handler) (acpi_handle gpe_device, u32 gpe_number, void *context); | ||
927 | |||
928 | typedef | ||
907 | void (*acpi_notify_handler) (acpi_handle device, u32 value, void *context); | 929 | void (*acpi_notify_handler) (acpi_handle device, u32 value, void *context); |
908 | 930 | ||
909 | typedef | 931 | typedef |
@@ -950,11 +972,18 @@ acpi_status(*acpi_walk_callback) (acpi_handle object, | |||
950 | u32 nesting_level, | 972 | u32 nesting_level, |
951 | void *context, void **return_value); | 973 | void *context, void **return_value); |
952 | 974 | ||
975 | typedef | ||
976 | u32 (*acpi_interface_handler) (acpi_string interface_name, u32 supported); | ||
977 | |||
953 | /* Interrupt handler return values */ | 978 | /* Interrupt handler return values */ |
954 | 979 | ||
955 | #define ACPI_INTERRUPT_NOT_HANDLED 0x00 | 980 | #define ACPI_INTERRUPT_NOT_HANDLED 0x00 |
956 | #define ACPI_INTERRUPT_HANDLED 0x01 | 981 | #define ACPI_INTERRUPT_HANDLED 0x01 |
957 | 982 | ||
983 | /* GPE handler return values */ | ||
984 | |||
985 | #define ACPI_REENABLE_GPE 0x80 | ||
986 | |||
958 | /* Length of 32-bit EISAID values when converted back to a string */ | 987 | /* Length of 32-bit EISAID values when converted back to a string */ |
959 | 988 | ||
960 | #define ACPI_EISAID_STRING_SIZE 8 /* Includes null terminator */ | 989 | #define ACPI_EISAID_STRING_SIZE 8 /* Includes null terminator */ |
diff --git a/include/acpi/apei.h b/include/acpi/apei.h index b3365025ff8d..e67b523a50e1 100644 --- a/include/acpi/apei.h +++ b/include/acpi/apei.h | |||
@@ -19,15 +19,22 @@ | |||
19 | extern int hest_disable; | 19 | extern int hest_disable; |
20 | extern int erst_disable; | 20 | extern int erst_disable; |
21 | 21 | ||
22 | #ifdef CONFIG_ACPI_APEI | ||
23 | void __init acpi_hest_init(void); | ||
24 | #else | ||
25 | static inline void acpi_hest_init(void) { return; } | ||
26 | #endif | ||
27 | |||
22 | typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data); | 28 | typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data); |
23 | int apei_hest_parse(apei_hest_func_t func, void *data); | 29 | int apei_hest_parse(apei_hest_func_t func, void *data); |
24 | 30 | ||
25 | int erst_write(const struct cper_record_header *record); | 31 | int erst_write(const struct cper_record_header *record); |
26 | ssize_t erst_get_record_count(void); | 32 | ssize_t erst_get_record_count(void); |
27 | int erst_get_next_record_id(u64 *record_id); | 33 | int erst_get_record_id_begin(int *pos); |
34 | int erst_get_record_id_next(int *pos, u64 *record_id); | ||
35 | void erst_get_record_id_end(void); | ||
28 | ssize_t erst_read(u64 record_id, struct cper_record_header *record, | 36 | ssize_t erst_read(u64 record_id, struct cper_record_header *record, |
29 | size_t buflen); | 37 | size_t buflen); |
30 | ssize_t erst_read_next(struct cper_record_header *record, size_t buflen); | ||
31 | int erst_clear(u64 record_id); | 38 | int erst_clear(u64 record_id); |
32 | 39 | ||
33 | #endif | 40 | #endif |
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index c05aeba9e8f0..5af3ed52ef98 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -193,6 +193,12 @@ | |||
193 | #define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE | 193 | #define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE |
194 | #endif | 194 | #endif |
195 | 195 | ||
196 | /* "inline" keywords - configurable since inline is not standardized */ | ||
197 | |||
198 | #ifndef ACPI_INLINE | ||
199 | #define ACPI_INLINE | ||
200 | #endif | ||
201 | |||
196 | /* | 202 | /* |
197 | * Debugger threading model | 203 | * Debugger threading model |
198 | * Use single threaded if the entire subsystem is contained in an application | 204 | * Use single threaded if the entire subsystem is contained in an application |
diff --git a/include/acpi/platform/acgcc.h b/include/acpi/platform/acgcc.h index 0cd53e3cd1a3..e228893591a9 100644 --- a/include/acpi/platform/acgcc.h +++ b/include/acpi/platform/acgcc.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -44,6 +44,8 @@ | |||
44 | #ifndef __ACGCC_H__ | 44 | #ifndef __ACGCC_H__ |
45 | #define __ACGCC_H__ | 45 | #define __ACGCC_H__ |
46 | 46 | ||
47 | #define ACPI_INLINE __inline__ | ||
48 | |||
47 | /* Function name is used for debug output. Non-ANSI, compiler-dependent */ | 49 | /* Function name is used for debug output. Non-ANSI, compiler-dependent */ |
48 | 50 | ||
49 | #define ACPI_GET_FUNCTION_NAME __func__ | 51 | #define ACPI_GET_FUNCTION_NAME __func__ |
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 103f08aca764..2ce1be9f6291 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2010, Intel Corp. | 8 | * Copyright (C) 2000 - 2011, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -75,7 +75,6 @@ | |||
75 | #define acpi_cache_t struct kmem_cache | 75 | #define acpi_cache_t struct kmem_cache |
76 | #define acpi_spinlock spinlock_t * | 76 | #define acpi_spinlock spinlock_t * |
77 | #define acpi_cpu_flags unsigned long | 77 | #define acpi_cpu_flags unsigned long |
78 | #define acpi_thread_id struct task_struct * | ||
79 | 78 | ||
80 | #else /* !__KERNEL__ */ | 79 | #else /* !__KERNEL__ */ |
81 | 80 | ||
@@ -88,7 +87,7 @@ | |||
88 | /* Host-dependent types and defines for user-space ACPICA */ | 87 | /* Host-dependent types and defines for user-space ACPICA */ |
89 | 88 | ||
90 | #define ACPI_FLUSH_CPU_CACHE() | 89 | #define ACPI_FLUSH_CPU_CACHE() |
91 | #define acpi_thread_id pthread_t | 90 | #define ACPI_CAST_PTHREAD_T(pthread) ((acpi_thread_id) (pthread)) |
92 | 91 | ||
93 | #if defined(__ia64__) || defined(__x86_64__) | 92 | #if defined(__ia64__) || defined(__x86_64__) |
94 | #define ACPI_MACHINE_WIDTH 64 | 93 | #define ACPI_MACHINE_WIDTH 64 |
@@ -113,12 +112,13 @@ | |||
113 | 112 | ||
114 | 113 | ||
115 | #ifdef __KERNEL__ | 114 | #ifdef __KERNEL__ |
115 | #include <acpi/actypes.h> | ||
116 | /* | 116 | /* |
117 | * Overrides for in-kernel ACPICA | 117 | * Overrides for in-kernel ACPICA |
118 | */ | 118 | */ |
119 | static inline acpi_thread_id acpi_os_get_thread_id(void) | 119 | static inline acpi_thread_id acpi_os_get_thread_id(void) |
120 | { | 120 | { |
121 | return current; | 121 | return (acpi_thread_id)(unsigned long)current; |
122 | } | 122 | } |
123 | 123 | ||
124 | /* | 124 | /* |
@@ -127,7 +127,6 @@ static inline acpi_thread_id acpi_os_get_thread_id(void) | |||
127 | * However, boot has (system_state != SYSTEM_RUNNING) | 127 | * However, boot has (system_state != SYSTEM_RUNNING) |
128 | * to quiet __might_sleep() in kmalloc() and resume does not. | 128 | * to quiet __might_sleep() in kmalloc() and resume does not. |
129 | */ | 129 | */ |
130 | #include <acpi/actypes.h> | ||
131 | static inline void *acpi_os_allocate(acpi_size size) | 130 | static inline void *acpi_os_allocate(acpi_size size) |
132 | { | 131 | { |
133 | return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); | 132 | return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); |
@@ -160,6 +159,24 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) | |||
160 | } while (0) | 159 | } while (0) |
161 | #endif | 160 | #endif |
162 | 161 | ||
162 | /* | ||
163 | * When lockdep is enabled, the spin_lock_init() macro stringifies it's | ||
164 | * argument and uses that as a name for the lock in debugging. | ||
165 | * By executing spin_lock_init() in a macro the key changes from "lock" for | ||
166 | * all locks to the name of the argument of acpi_os_create_lock(), which | ||
167 | * prevents lockdep from reporting false positives for ACPICA locks. | ||
168 | */ | ||
169 | #define acpi_os_create_lock(__handle) \ | ||
170 | ({ \ | ||
171 | spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock)); \ | ||
172 | \ | ||
173 | if (lock) { \ | ||
174 | *(__handle) = lock; \ | ||
175 | spin_lock_init(*(__handle)); \ | ||
176 | } \ | ||
177 | lock ? AE_OK : AE_NO_MEMORY; \ | ||
178 | }) | ||
179 | |||
163 | #endif /* __KERNEL__ */ | 180 | #endif /* __KERNEL__ */ |
164 | 181 | ||
165 | #endif /* __ACLINUX_H__ */ | 182 | #endif /* __ACLINUX_H__ */ |
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 1b62102fbb67..ba4928cae473 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
@@ -310,20 +310,19 @@ static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit) | |||
310 | 310 | ||
311 | /* in processor_core.c */ | 311 | /* in processor_core.c */ |
312 | void acpi_processor_set_pdc(acpi_handle handle); | 312 | void acpi_processor_set_pdc(acpi_handle handle); |
313 | #ifdef CONFIG_SMP | ||
314 | int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id); | 313 | int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id); |
315 | #else | ||
316 | static inline int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id) | ||
317 | { | ||
318 | return -1; | ||
319 | } | ||
320 | #endif | ||
321 | 314 | ||
322 | /* in processor_throttling.c */ | 315 | /* in processor_throttling.c */ |
323 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); | 316 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); |
324 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); | 317 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); |
325 | extern int acpi_processor_set_throttling(struct acpi_processor *pr, | 318 | extern int acpi_processor_set_throttling(struct acpi_processor *pr, |
326 | int state, bool force); | 319 | int state, bool force); |
320 | /* | ||
321 | * Reevaluate whether the T-state is invalid after one cpu is | ||
322 | * onlined/offlined. In such case the flags.throttling will be updated. | ||
323 | */ | ||
324 | extern void acpi_processor_reevaluate_tstate(struct acpi_processor *pr, | ||
325 | unsigned long action); | ||
327 | extern const struct file_operations acpi_processor_throttling_fops; | 326 | extern const struct file_operations acpi_processor_throttling_fops; |
328 | extern void acpi_processor_throttling_init(void); | 327 | extern void acpi_processor_throttling_init(void); |
329 | /* in processor_idle.c */ | 328 | /* in processor_idle.c */ |
diff --git a/include/acpi/video.h b/include/acpi/video.h index 551793c9b6e8..0e98e679d3a7 100644 --- a/include/acpi/video.h +++ b/include/acpi/video.h | |||
@@ -1,6 +1,10 @@ | |||
1 | #ifndef __ACPI_VIDEO_H | 1 | #ifndef __ACPI_VIDEO_H |
2 | #define __ACPI_VIDEO_H | 2 | #define __ACPI_VIDEO_H |
3 | 3 | ||
4 | #include <linux/errno.h> /* for ENODEV */ | ||
5 | |||
6 | struct acpi_device; | ||
7 | |||
4 | #define ACPI_VIDEO_DISPLAY_CRT 1 | 8 | #define ACPI_VIDEO_DISPLAY_CRT 1 |
5 | #define ACPI_VIDEO_DISPLAY_TV 2 | 9 | #define ACPI_VIDEO_DISPLAY_TV 2 |
6 | #define ACPI_VIDEO_DISPLAY_DVI 3 | 10 | #define ACPI_VIDEO_DISPLAY_DVI 3 |
@@ -26,4 +30,3 @@ static inline int acpi_video_get_edid(struct acpi_device *device, int type, | |||
26 | #endif | 30 | #endif |
27 | 31 | ||
28 | #endif | 32 | #endif |
29 | |||