aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acexcep.h4
-rw-r--r--include/acpi/acoutput.h5
-rw-r--r--include/acpi/acpi_bus.h5
-rw-r--r--include/acpi/acpi_drivers.h3
-rw-r--r--include/acpi/acpi_hest.h12
-rw-r--r--include/acpi/acpiosxf.h4
-rw-r--r--include/acpi/acpixf.h49
-rw-r--r--include/acpi/actbl2.h75
-rw-r--r--include/acpi/actypes.h39
-rw-r--r--include/acpi/apei.h34
-rw-r--r--include/acpi/atomicio.h10
-rw-r--r--include/acpi/hed.h18
-rw-r--r--include/acpi/platform/aclinux.h10
-rw-r--r--include/acpi/processor.h17
-rw-r--r--include/acpi/video.h16
15 files changed, 211 insertions, 90 deletions
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h
index 5b2e5e80ecb0..17714beb868e 100644
--- a/include/acpi/acexcep.h
+++ b/include/acpi/acexcep.h
@@ -87,7 +87,7 @@
87#define AE_NO_GLOBAL_LOCK (acpi_status) (0x0017 | AE_CODE_ENVIRONMENTAL) 87#define AE_NO_GLOBAL_LOCK (acpi_status) (0x0017 | AE_CODE_ENVIRONMENTAL)
88#define AE_ABORT_METHOD (acpi_status) (0x0018 | AE_CODE_ENVIRONMENTAL) 88#define AE_ABORT_METHOD (acpi_status) (0x0018 | AE_CODE_ENVIRONMENTAL)
89#define AE_SAME_HANDLER (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL) 89#define AE_SAME_HANDLER (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL)
90#define AE_WAKE_ONLY_GPE (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL) 90#define AE_NO_HANDLER (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL)
91#define AE_OWNER_ID_LIMIT (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL) 91#define AE_OWNER_ID_LIMIT (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL)
92 92
93#define AE_CODE_ENV_MAX 0x001B 93#define AE_CODE_ENV_MAX 0x001B
@@ -212,7 +212,7 @@ char const *acpi_gbl_exception_names_env[] = {
212 "AE_NO_GLOBAL_LOCK", 212 "AE_NO_GLOBAL_LOCK",
213 "AE_ABORT_METHOD", 213 "AE_ABORT_METHOD",
214 "AE_SAME_HANDLER", 214 "AE_SAME_HANDLER",
215 "AE_WAKE_ONLY_GPE", 215 "AE_NO_HANDLER",
216 "AE_OWNER_ID_LIMIT" 216 "AE_OWNER_ID_LIMIT"
217}; 217};
218 218
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h
index d7726685797e..bc4a6deb73b0 100644
--- a/include/acpi/acoutput.h
+++ b/include/acpi/acoutput.h
@@ -71,8 +71,9 @@
71#define ACPI_TOOLS 0x00002000 71#define ACPI_TOOLS 0x00002000
72#define ACPI_EXAMPLE 0x00004000 72#define ACPI_EXAMPLE 0x00004000
73#define ACPI_DRIVER 0x00008000 73#define ACPI_DRIVER 0x00008000
74#define DT_COMPILER 0x00010000
74 75
75#define ACPI_ALL_COMPONENTS 0x0000FFFF 76#define ACPI_ALL_COMPONENTS 0x0001FFFF
76#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) 77#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
77 78
78/* Component IDs reserved for ACPI drivers */ 79/* Component IDs reserved for ACPI drivers */
@@ -206,6 +207,7 @@
206#define ACPI_WARNING(plist) acpi_warning plist 207#define ACPI_WARNING(plist) acpi_warning plist
207#define ACPI_EXCEPTION(plist) acpi_exception plist 208#define ACPI_EXCEPTION(plist) acpi_exception plist
208#define ACPI_ERROR(plist) acpi_error plist 209#define ACPI_ERROR(plist) acpi_error plist
210#define ACPI_DEBUG_OBJECT(obj,l,i) acpi_ex_do_debug_object(obj,l,i)
209 211
210#else 212#else
211 213
@@ -215,6 +217,7 @@
215#define ACPI_WARNING(plist) 217#define ACPI_WARNING(plist)
216#define ACPI_EXCEPTION(plist) 218#define ACPI_EXCEPTION(plist)
217#define ACPI_ERROR(plist) 219#define ACPI_ERROR(plist)
220#define ACPI_DEBUG_OBJECT(obj,l,i)
218 221
219#endif /* ACPI_NO_ERROR_MESSAGES */ 222#endif /* ACPI_NO_ERROR_MESSAGES */
220 223
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 7bf83ddf82e0..4de84ce3a927 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -373,13 +373,10 @@ struct acpi_pci_root {
373 struct acpi_pci_id id; 373 struct acpi_pci_id id;
374 struct pci_bus *bus; 374 struct pci_bus *bus;
375 u16 segment; 375 u16 segment;
376 u8 bus_nr; 376 struct resource secondary; /* downstream bus range */
377 377
378 u32 osc_support_set; /* _OSC state of support bits */ 378 u32 osc_support_set; /* _OSC state of support bits */
379 u32 osc_control_set; /* _OSC state of control bits */ 379 u32 osc_control_set; /* _OSC state of control bits */
380 u32 osc_control_qry; /* the latest _OSC query result */
381
382 u32 osc_queried:1; /* has _OSC control been queried? */
383}; 380};
384 381
385/* helper */ 382/* helper */
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h
index 4f7b44866b76..23d78b4d088b 100644
--- a/include/acpi/acpi_drivers.h
+++ b/include/acpi/acpi_drivers.h
@@ -104,8 +104,7 @@ int acpi_pci_bind_root(struct acpi_device *device);
104 104
105/* Arch-defined function to add a bus to the system */ 105/* Arch-defined function to add a bus to the system */
106 106
107struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain, 107struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root);
108 int bus);
109void pci_acpi_crs_quirks(void); 108void pci_acpi_crs_quirks(void);
110 109
111/* -------------------------------------------------------------------------- 110/* --------------------------------------------------------------------------
diff --git a/include/acpi/acpi_hest.h b/include/acpi/acpi_hest.h
deleted file mode 100644
index 63194d03cb2d..000000000000
--- a/include/acpi/acpi_hest.h
+++ /dev/null
@@ -1,12 +0,0 @@
1#ifndef __ACPI_HEST_H
2#define __ACPI_HEST_H
3
4#include <linux/pci.h>
5
6#ifdef CONFIG_ACPI
7extern int acpi_hest_firmware_first_pci(struct pci_dev *pci);
8#else
9static inline int acpi_hest_firmware_first_pci(struct pci_dev *pci) { return 0; }
10#endif
11
12#endif
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index b396854b83b0..29bf945143e8 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -233,8 +233,8 @@ acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id,
233 * Interim function needed for PCI IRQ routing 233 * Interim function needed for PCI IRQ routing
234 */ 234 */
235void 235void
236acpi_os_derive_pci_id(acpi_handle rhandle, 236acpi_os_derive_pci_id(acpi_handle device,
237 acpi_handle chandle, struct acpi_pci_id **pci_id); 237 acpi_handle region, struct acpi_pci_id **pci_id);
238 238
239/* 239/*
240 * Miscellaneous 240 * Miscellaneous
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 4447a0461bae..984cdc62e30b 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -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 0x20100121 50#define ACPI_CA_VERSION 0x20100702
51 51
52#include "actypes.h" 52#include "actypes.h"
53#include "actbl.h" 53#include "actbl.h"
@@ -55,7 +55,7 @@
55extern u8 acpi_gbl_permanent_mmap; 55extern u8 acpi_gbl_permanent_mmap;
56 56
57/* 57/*
58 * Globals that are publically available, allowing for 58 * Globals that are publicly available, allowing for
59 * run time configuration 59 * run time configuration
60 */ 60 */
61extern u32 acpi_dbg_level; 61extern u32 acpi_dbg_level;
@@ -63,10 +63,12 @@ extern u32 acpi_dbg_layer;
63extern u8 acpi_gbl_enable_interpreter_slack; 63extern u8 acpi_gbl_enable_interpreter_slack;
64extern u8 acpi_gbl_all_methods_serialized; 64extern u8 acpi_gbl_all_methods_serialized;
65extern u8 acpi_gbl_create_osi_method; 65extern u8 acpi_gbl_create_osi_method;
66extern u8 acpi_gbl_leave_wake_gpes_disabled;
67extern u8 acpi_gbl_use_default_register_widths; 66extern u8 acpi_gbl_use_default_register_widths;
68extern acpi_name acpi_gbl_trace_method_name; 67extern acpi_name acpi_gbl_trace_method_name;
69extern u32 acpi_gbl_trace_flags; 68extern u32 acpi_gbl_trace_flags;
69extern u32 acpi_gbl_enable_aml_debug_object;
70extern u8 acpi_gbl_copy_dsdt_locally;
71extern u8 acpi_gbl_truncate_io_addresses;
70 72
71extern u32 acpi_current_gpe_count; 73extern u32 acpi_current_gpe_count;
72extern struct acpi_table_fadt acpi_gbl_FADT; 74extern struct acpi_table_fadt acpi_gbl_FADT;
@@ -164,7 +166,7 @@ acpi_get_devices(const char *HID,
164 void *context, void **return_value); 166 void *context, void **return_value);
165 167
166acpi_status 168acpi_status
167acpi_get_name(acpi_handle handle, 169acpi_get_name(acpi_handle object,
168 u32 name_type, struct acpi_buffer *ret_path_ptr); 170 u32 name_type, struct acpi_buffer *ret_path_ptr);
169 171
170acpi_status 172acpi_status
@@ -172,14 +174,12 @@ acpi_get_handle(acpi_handle parent,
172 acpi_string pathname, acpi_handle * ret_handle); 174 acpi_string pathname, acpi_handle * ret_handle);
173 175
174acpi_status 176acpi_status
175acpi_attach_data(acpi_handle obj_handle, 177acpi_attach_data(acpi_handle object, acpi_object_handler handler, void *data);
176 acpi_object_handler handler, void *data);
177 178
178acpi_status 179acpi_status acpi_detach_data(acpi_handle object, acpi_object_handler handler);
179acpi_detach_data(acpi_handle obj_handle, acpi_object_handler handler);
180 180
181acpi_status 181acpi_status
182acpi_get_data(acpi_handle obj_handle, acpi_object_handler handler, void **data); 182acpi_get_data(acpi_handle object, acpi_object_handler handler, void **data);
183 183
184acpi_status 184acpi_status
185acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags); 185acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags);
@@ -201,7 +201,7 @@ acpi_evaluate_object_typed(acpi_handle object,
201 acpi_object_type return_type); 201 acpi_object_type return_type);
202 202
203acpi_status 203acpi_status
204acpi_get_object_info(acpi_handle handle, 204acpi_get_object_info(acpi_handle object,
205 struct acpi_device_info **return_buffer); 205 struct acpi_device_info **return_buffer);
206 206
207acpi_status acpi_install_method(u8 *buffer); 207acpi_status acpi_install_method(u8 *buffer);
@@ -281,18 +281,19 @@ acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status);
281/* 281/*
282 * GPE Interfaces 282 * GPE Interfaces
283 */ 283 */
284acpi_status acpi_set_gpe(acpi_handle gpe_device, u32 gpe_number, u8 action); 284acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number);
285
286acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number);
285 287
286acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); 288acpi_status acpi_gpe_can_wake(acpi_handle gpe_device, u32 gpe_number);
287 289
288acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); 290acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number);
289 291
290acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number, u32 flags); 292acpi_status acpi_gpe_wakeup(acpi_handle gpe_device, u32 gpe_number, u8 action);
291 293
292acpi_status 294acpi_status
293acpi_get_gpe_status(acpi_handle gpe_device, 295acpi_get_gpe_status(acpi_handle gpe_device,
294 u32 gpe_number, 296 u32 gpe_number, acpi_event_status *event_status);
295 u32 flags, acpi_event_status * event_status);
296 297
297acpi_status acpi_disable_all_gpes(void); 298acpi_status acpi_disable_all_gpes(void);
298 299
@@ -315,33 +316,29 @@ acpi_status(*acpi_walk_resource_callback) (struct acpi_resource * resource,
315 void *context); 316 void *context);
316 317
317acpi_status 318acpi_status
318acpi_get_vendor_resource(acpi_handle device_handle, 319acpi_get_vendor_resource(acpi_handle device,
319 char *name, 320 char *name,
320 struct acpi_vendor_uuid *uuid, 321 struct acpi_vendor_uuid *uuid,
321 struct acpi_buffer *ret_buffer); 322 struct acpi_buffer *ret_buffer);
322 323
323acpi_status 324acpi_status
324acpi_get_current_resources(acpi_handle device_handle, 325acpi_get_current_resources(acpi_handle device, struct acpi_buffer *ret_buffer);
325 struct acpi_buffer *ret_buffer);
326 326
327#ifdef ACPI_FUTURE_USAGE 327#ifdef ACPI_FUTURE_USAGE
328acpi_status 328acpi_status
329acpi_get_possible_resources(acpi_handle device_handle, 329acpi_get_possible_resources(acpi_handle device, struct acpi_buffer *ret_buffer);
330 struct acpi_buffer *ret_buffer);
331#endif 330#endif
332 331
333acpi_status 332acpi_status
334acpi_walk_resources(acpi_handle device_handle, 333acpi_walk_resources(acpi_handle device,
335 char *name, 334 char *name,
336 acpi_walk_resource_callback user_function, void *context); 335 acpi_walk_resource_callback user_function, void *context);
337 336
338acpi_status 337acpi_status
339acpi_set_current_resources(acpi_handle device_handle, 338acpi_set_current_resources(acpi_handle device, struct acpi_buffer *in_buffer);
340 struct acpi_buffer *in_buffer);
341 339
342acpi_status 340acpi_status
343acpi_get_irq_routing_table(acpi_handle bus_device_handle, 341acpi_get_irq_routing_table(acpi_handle device, struct acpi_buffer *ret_buffer);
344 struct acpi_buffer *ret_buffer);
345 342
346acpi_status 343acpi_status
347acpi_resource_to_address64(struct acpi_resource *resource, 344acpi_resource_to_address64(struct acpi_resource *resource,
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 5b02e307bff3..d4136b28011f 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -69,6 +69,7 @@
69#define ACPI_SIG_IBFT "IBFT" /* i_sCSI Boot Firmware Table */ 69#define ACPI_SIG_IBFT "IBFT" /* i_sCSI Boot Firmware Table */
70#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ 70#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */
71#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ 71#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */
72#define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */
72#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */ 73#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */
73#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */ 74#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */
74#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */ 75#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */
@@ -76,8 +77,18 @@
76#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ 77#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */
77#define ACPI_SIG_WAET "WAET" /* Windows ACPI Emulated devices Table */ 78#define ACPI_SIG_WAET "WAET" /* Windows ACPI Emulated devices Table */
78#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */ 79#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */
80#define ACPI_SIG_WDDT "WDDT" /* Watchdog Timer Description Table */
79#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */ 81#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */
80 82
83#ifdef ACPI_UNDEFINED_TABLES
84/*
85 * These tables have been seen in the field, but no definition has been found
86 */
87#define ACPI_SIG_ATKG "ATKG"
88#define ACPI_SIG_GSCI "GSCI" /* GMCH SCI table */
89#define ACPI_SIG_IEIT "IEIT"
90#endif
91
81/* 92/*
82 * All tables must be byte-packed to match the ACPI specification, since 93 * All tables must be byte-packed to match the ACPI specification, since
83 * the tables are provided by the system BIOS. 94 * the tables are provided by the system BIOS.
@@ -679,6 +690,32 @@ struct acpi_mcfg_allocation {
679 690
680/******************************************************************************* 691/*******************************************************************************
681 * 692 *
693 * MCHI - Management Controller Host Interface Table
694 * Version 1
695 *
696 * Conforms to "Management Component Transport Protocol (MCTP) Host
697 * Interface Specification", Revision 1.0.0a, October 13, 2009
698 *
699 ******************************************************************************/
700
701struct acpi_table_mchi {
702 struct acpi_table_header header; /* Common ACPI table header */
703 u8 interface_type;
704 u8 protocol;
705 u64 protocol_data;
706 u8 interrupt_type;
707 u8 gpe;
708 u8 pci_device_flag;
709 u32 global_interrupt;
710 struct acpi_generic_address control_register;
711 u8 pci_segment;
712 u8 pci_bus;
713 u8 pci_device;
714 u8 pci_function;
715};
716
717/*******************************************************************************
718 *
682 * SPCR - Serial Port Console Redirection table 719 * SPCR - Serial Port Console Redirection table
683 * Version 1 720 * Version 1
684 * 721 *
@@ -882,6 +919,44 @@ enum acpi_wdat_instructions {
882 919
883/******************************************************************************* 920/*******************************************************************************
884 * 921 *
922 * WDDT - Watchdog Descriptor Table
923 * Version 1
924 *
925 * Conforms to "Using the Intel ICH Family Watchdog Timer (WDT)",
926 * Version 001, September 2002
927 *
928 ******************************************************************************/
929
930struct acpi_table_wddt {
931 struct acpi_table_header header; /* Common ACPI table header */
932 u16 spec_version;
933 u16 table_version;
934 u16 pci_vendor_id;
935 struct acpi_generic_address address;
936 u16 max_count; /* Maximum counter value supported */
937 u16 min_count; /* Minimum counter value supported */
938 u16 period;
939 u16 status;
940 u16 capability;
941};
942
943/* Flags for Status field above */
944
945#define ACPI_WDDT_AVAILABLE (1)
946#define ACPI_WDDT_ACTIVE (1<<1)
947#define ACPI_WDDT_TCO_OS_OWNED (1<<2)
948#define ACPI_WDDT_USER_RESET (1<<11)
949#define ACPI_WDDT_WDT_RESET (1<<12)
950#define ACPI_WDDT_POWER_FAIL (1<<13)
951#define ACPI_WDDT_UNKNOWN_RESET (1<<14)
952
953/* Flags for Capability field above */
954
955#define ACPI_WDDT_AUTO_RESET (1)
956#define ACPI_WDDT_ALERT_SUPPORT (1<<1)
957
958/*******************************************************************************
959 *
885 * WDRT - Watchdog Resource Table 960 * WDRT - Watchdog Resource Table
886 * Version 1 961 * Version 1
887 * 962 *
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 3f08e64962f8..5db8f472fec9 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -663,44 +663,37 @@ typedef u32 acpi_event_status;
663#define ACPI_GPE_MAX 0xFF 663#define ACPI_GPE_MAX 0xFF
664#define ACPI_NUM_GPE 256 664#define ACPI_NUM_GPE 256
665 665
666/* Actions for acpi_gpe_wakeup, acpi_hw_low_set_gpe */
667
666#define ACPI_GPE_ENABLE 0 668#define ACPI_GPE_ENABLE 0
667#define ACPI_GPE_DISABLE 1 669#define ACPI_GPE_DISABLE 1
670#define ACPI_GPE_COND_ENABLE 2
668 671
669/* 672/*
670 * GPE info flags - Per GPE 673 * GPE info flags - Per GPE
671 * +-+-+-+---+-+-+-+ 674 * +-------+---+-+-+
672 * |7|6|5|4:3|2|1|0| 675 * | 7:4 |3:2|1|0|
673 * +-+-+-+---+-+-+-+ 676 * +-------+---+-+-+
674 * | | | | | | | 677 * | | | |
675 * | | | | | | +--- Interrupt type: Edge or Level Triggered 678 * | | | +--- Interrupt type: edge or level triggered
676 * | | | | | +--- GPE can wake the system 679 * | | +----- GPE can wake the system
677 * | | | | +--- Unused 680 * | +-------- Type of dispatch:to method, handler, or none
678 * | | | +--- Type of dispatch -- to method, handler, or none 681 * +-------------- <Reserved>
679 * | | +--- Unused
680 * | +--- Unused
681 * +--- Unused
682 */ 682 */
683#define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01 683#define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01
684#define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x01 684#define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x01
685#define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00 685#define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00
686 686
687#define ACPI_GPE_TYPE_MASK (u8) 0x06
688#define ACPI_GPE_TYPE_WAKE_RUN (u8) 0x06
689#define ACPI_GPE_TYPE_WAKE (u8) 0x02
690#define ACPI_GPE_TYPE_RUNTIME (u8) 0x04 /* Default */
691#define ACPI_GPE_CAN_WAKE (u8) 0x02 687#define ACPI_GPE_CAN_WAKE (u8) 0x02
692 688
693#define ACPI_GPE_DISPATCH_MASK (u8) 0x18 689#define ACPI_GPE_DISPATCH_MASK (u8) 0x0C
694#define ACPI_GPE_DISPATCH_HANDLER (u8) 0x08 690#define ACPI_GPE_DISPATCH_HANDLER (u8) 0x04
695#define ACPI_GPE_DISPATCH_METHOD (u8) 0x10 691#define ACPI_GPE_DISPATCH_METHOD (u8) 0x08
696#define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00 /* Default */ 692#define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00
697 693
698/* 694/*
699 * Flags for GPE and Lock interfaces 695 * Flags for GPE and Lock interfaces
700 */ 696 */
701#define ACPI_EVENT_WAKE_ENABLE 0x2 /* acpi_gpe_enable */
702#define ACPI_EVENT_WAKE_DISABLE 0x2 /* acpi_gpe_disable */
703
704#define ACPI_NOT_ISR 0x1 697#define ACPI_NOT_ISR 0x1
705#define ACPI_ISR 0x0 698#define ACPI_ISR 0x0
706 699
@@ -953,7 +946,7 @@ acpi_status(*acpi_adr_space_setup) (acpi_handle region_handle,
953#define ACPI_REGION_DEACTIVATE 1 946#define ACPI_REGION_DEACTIVATE 1
954 947
955typedef 948typedef
956acpi_status(*acpi_walk_callback) (acpi_handle obj_handle, 949acpi_status(*acpi_walk_callback) (acpi_handle object,
957 u32 nesting_level, 950 u32 nesting_level,
958 void *context, void **return_value); 951 void *context, void **return_value);
959 952
diff --git a/include/acpi/apei.h b/include/acpi/apei.h
new file mode 100644
index 000000000000..b3365025ff8d
--- /dev/null
+++ b/include/acpi/apei.h
@@ -0,0 +1,34 @@
1/*
2 * apei.h - ACPI Platform Error Interface
3 */
4
5#ifndef ACPI_APEI_H
6#define ACPI_APEI_H
7
8#include <linux/acpi.h>
9#include <linux/cper.h>
10#include <asm/ioctls.h>
11
12#define APEI_ERST_INVALID_RECORD_ID 0xffffffffffffffffULL
13
14#define APEI_ERST_CLEAR_RECORD _IOW('E', 1, u64)
15#define APEI_ERST_GET_RECORD_COUNT _IOR('E', 2, u32)
16
17#ifdef __KERNEL__
18
19extern int hest_disable;
20extern int erst_disable;
21
22typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data);
23int apei_hest_parse(apei_hest_func_t func, void *data);
24
25int erst_write(const struct cper_record_header *record);
26ssize_t erst_get_record_count(void);
27int erst_get_next_record_id(u64 *record_id);
28ssize_t erst_read(u64 record_id, struct cper_record_header *record,
29 size_t buflen);
30ssize_t erst_read_next(struct cper_record_header *record, size_t buflen);
31int erst_clear(u64 record_id);
32
33#endif
34#endif
diff --git a/include/acpi/atomicio.h b/include/acpi/atomicio.h
new file mode 100644
index 000000000000..8b9fb4b0b9ce
--- /dev/null
+++ b/include/acpi/atomicio.h
@@ -0,0 +1,10 @@
1#ifndef ACPI_ATOMIC_IO_H
2#define ACPI_ATOMIC_IO_H
3
4int acpi_pre_map_gar(struct acpi_generic_address *reg);
5int acpi_post_unmap_gar(struct acpi_generic_address *reg);
6
7int acpi_atomic_read(u64 *val, struct acpi_generic_address *reg);
8int acpi_atomic_write(u64 val, struct acpi_generic_address *reg);
9
10#endif
diff --git a/include/acpi/hed.h b/include/acpi/hed.h
new file mode 100644
index 000000000000..46e1249b70cc
--- /dev/null
+++ b/include/acpi/hed.h
@@ -0,0 +1,18 @@
1/*
2 * hed.h - ACPI Hardware Error Device
3 *
4 * Copyright (C) 2009, Intel Corp.
5 * Author: Huang Ying <ying.huang@intel.com>
6 *
7 * This file is released under the GPLv2.
8 */
9
10#ifndef ACPI_HED_H
11#define ACPI_HED_H
12
13#include <linux/notifier.h>
14
15int register_acpi_hed_notifier(struct notifier_block *nb);
16void unregister_acpi_hed_notifier(struct notifier_block *nb);
17
18#endif
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
index e5039a2856f8..103f08aca764 100644
--- a/include/acpi/platform/aclinux.h
+++ b/include/acpi/platform/aclinux.h
@@ -148,13 +148,17 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
148#define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a) 148#define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a)
149#define ACPI_FREE(a) kfree(a) 149#define ACPI_FREE(a) kfree(a)
150 150
151/* Used within ACPICA to show where it is safe to preempt execution */ 151#ifndef CONFIG_PREEMPT
152#include <linux/hardirq.h> 152/*
153 * Used within ACPICA to show where it is safe to preempt execution
154 * when CONFIG_PREEMPT=n
155 */
153#define ACPI_PREEMPTION_POINT() \ 156#define ACPI_PREEMPTION_POINT() \
154 do { \ 157 do { \
155 if (!in_atomic_preempt_off() && !irqs_disabled()) \ 158 if (!irqs_disabled()) \
156 cond_resched(); \ 159 cond_resched(); \
157 } while (0) 160 } while (0)
161#endif
158 162
159#endif /* __KERNEL__ */ 163#endif /* __KERNEL__ */
160 164
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index 86825ddbe14e..1b62102fbb67 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -48,21 +48,10 @@ struct acpi_power_register {
48 u8 space_id; 48 u8 space_id;
49 u8 bit_width; 49 u8 bit_width;
50 u8 bit_offset; 50 u8 bit_offset;
51 u8 reserved; 51 u8 access_size;
52 u64 address; 52 u64 address;
53} __attribute__ ((packed)); 53} __attribute__ ((packed));
54 54
55struct acpi_processor_cx_policy {
56 u32 count;
57 struct acpi_processor_cx *state;
58 struct {
59 u32 time;
60 u32 ticks;
61 u32 count;
62 u32 bm;
63 } threshold;
64};
65
66struct acpi_processor_cx { 55struct acpi_processor_cx {
67 u8 valid; 56 u8 valid;
68 u8 type; 57 u8 type;
@@ -74,8 +63,7 @@ struct acpi_processor_cx {
74 u32 power; 63 u32 power;
75 u32 usage; 64 u32 usage;
76 u64 time; 65 u64 time;
77 struct acpi_processor_cx_policy promotion; 66 u8 bm_sts_skip;
78 struct acpi_processor_cx_policy demotion;
79 char desc[ACPI_CX_DESC_LEN]; 67 char desc[ACPI_CX_DESC_LEN];
80}; 68};
81 69
@@ -350,7 +338,6 @@ extern struct cpuidle_driver acpi_idle_driver;
350 338
351/* in processor_thermal.c */ 339/* in processor_thermal.c */
352int acpi_processor_get_limit_info(struct acpi_processor *pr); 340int acpi_processor_get_limit_info(struct acpi_processor *pr);
353extern const struct file_operations acpi_processor_limit_fops;
354extern struct thermal_cooling_device_ops processor_cooling_ops; 341extern struct thermal_cooling_device_ops processor_cooling_ops;
355#ifdef CONFIG_CPU_FREQ 342#ifdef CONFIG_CPU_FREQ
356void acpi_thermal_cpufreq_init(void); 343void acpi_thermal_cpufreq_init(void);
diff --git a/include/acpi/video.h b/include/acpi/video.h
index cf7be3dd157b..551793c9b6e8 100644
--- a/include/acpi/video.h
+++ b/include/acpi/video.h
@@ -1,12 +1,28 @@
1#ifndef __ACPI_VIDEO_H 1#ifndef __ACPI_VIDEO_H
2#define __ACPI_VIDEO_H 2#define __ACPI_VIDEO_H
3 3
4#define ACPI_VIDEO_DISPLAY_CRT 1
5#define ACPI_VIDEO_DISPLAY_TV 2
6#define ACPI_VIDEO_DISPLAY_DVI 3
7#define ACPI_VIDEO_DISPLAY_LCD 4
8
9#define ACPI_VIDEO_DISPLAY_LEGACY_MONITOR 0x0100
10#define ACPI_VIDEO_DISPLAY_LEGACY_PANEL 0x0110
11#define ACPI_VIDEO_DISPLAY_LEGACY_TV 0x0200
12
4#if (defined CONFIG_ACPI_VIDEO || defined CONFIG_ACPI_VIDEO_MODULE) 13#if (defined CONFIG_ACPI_VIDEO || defined CONFIG_ACPI_VIDEO_MODULE)
5extern int acpi_video_register(void); 14extern int acpi_video_register(void);
6extern void acpi_video_unregister(void); 15extern void acpi_video_unregister(void);
16extern int acpi_video_get_edid(struct acpi_device *device, int type,
17 int device_id, void **edid);
7#else 18#else
8static inline int acpi_video_register(void) { return 0; } 19static inline int acpi_video_register(void) { return 0; }
9static inline void acpi_video_unregister(void) { return; } 20static inline void acpi_video_unregister(void) { return; }
21static inline int acpi_video_get_edid(struct acpi_device *device, int type,
22 int device_id, void **edid)
23{
24 return -ENODEV;
25}
10#endif 26#endif
11 27
12#endif 28#endif