aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acexcep.h2
-rw-r--r--include/acpi/acnames.h2
-rw-r--r--include/acpi/acoutput.h14
-rw-r--r--include/acpi/acpi.h2
-rw-r--r--include/acpi/acpi_bus.h29
-rw-r--r--include/acpi/acpi_drivers.h2
-rw-r--r--include/acpi/acpiosxf.h20
-rw-r--r--include/acpi/acpixf.h29
-rw-r--r--include/acpi/acrestyp.h2
-rw-r--r--include/acpi/actbl.h20
-rw-r--r--include/acpi/actbl1.h4
-rw-r--r--include/acpi/actbl2.h66
-rw-r--r--include/acpi/actypes.h109
-rw-r--r--include/acpi/apei.h11
-rw-r--r--include/acpi/platform/acenv.h8
-rw-r--r--include/acpi/platform/acgcc.h4
-rw-r--r--include/acpi/platform/aclinux.h27
-rw-r--r--include/acpi/processor.h13
-rw-r--r--include/acpi/video.h5
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)
187char *acpi_device_hid(struct acpi_device *device); 185const 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 {
212struct acpi_device_power { 210struct 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 {
242struct acpi_device_wakeup_flags { 240struct 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
249struct acpi_device_wakeup_state {
250 u8 enabled:1;
251};
252
253struct acpi_device_wakeup { 246struct 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);
328acpi_status acpi_bus_get_status_handle(acpi_handle handle, 319acpi_status acpi_bus_get_status_handle(acpi_handle handle,
329 unsigned long long *sta); 320 unsigned long long *sta);
330int acpi_bus_get_status(struct acpi_device *device); 321int acpi_bus_get_status(struct acpi_device *device);
331int acpi_bus_get_power(acpi_handle handle, int *state);
332int acpi_bus_set_power(acpi_handle handle, int state); 322int acpi_bus_set_power(acpi_handle handle, int state);
323int acpi_bus_update_power(acpi_handle handle, int *state_p);
333bool acpi_bus_power_manageable(acpi_handle handle); 324bool acpi_bus_power_manageable(acpi_handle handle);
334bool acpi_bus_can_wakeup(acpi_handle handle); 325bool 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);
389int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state); 380int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state);
390int acpi_disable_wakeup_device_power(struct acpi_device *dev); 381int acpi_disable_wakeup_device_power(struct acpi_device *dev);
391 382
392#ifdef CONFIG_PM_SLEEP 383#ifdef CONFIG_PM
393int acpi_pm_device_sleep_state(struct device *, int *); 384int acpi_pm_device_sleep_state(struct device *, int *);
394int acpi_pm_device_sleep_wake(struct device *, bool); 385#else
395#else /* !CONFIG_PM_SLEEP */
396static inline int acpi_pm_device_sleep_state(struct device *d, int *p) 386static 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
395int acpi_pm_device_sleep_wake(struct device *, bool);
396#else
402static inline int acpi_pm_device_sleep_wake(struct device *dev, bool enable) 397static 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
118int 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 */
101acpi_status acpi_os_create_lock(acpi_spinlock * out_handle); 101
102#ifndef acpi_os_create_lock
103acpi_status
104acpi_os_create_lock(acpi_spinlock *out_handle);
105#endif
102 106
103void acpi_os_delete_lock(acpi_spinlock handle); 107void 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 */
224acpi_status 228acpi_status
225acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, 229acpi_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
228acpi_status 232acpi_status
229acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, 233acpi_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 */
235void
236acpi_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 */
242acpi_status acpi_os_validate_interface(char *interface);
243acpi_status acpi_osi_invalidate(char* interface);
244
245acpi_status 239acpi_status
246acpi_os_validate_address(u8 space_id, acpi_physical_address address, 240acpi_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
73extern u32 acpi_current_gpe_count; 73extern u32 acpi_current_gpe_count;
74extern struct acpi_table_fadt acpi_gbl_FADT; 74extern struct acpi_table_fadt acpi_gbl_FADT;
75extern u8 acpi_gbl_system_awake_and_running;
75 76
76extern u32 acpi_rsdt_forced; 77extern u32 acpi_rsdt_forced;
77/* 78/*
@@ -105,6 +106,10 @@ const char *acpi_format_exception(acpi_status exception);
105 106
106acpi_status acpi_purge_cached_objects(void); 107acpi_status acpi_purge_cached_objects(void);
107 108
109acpi_status acpi_install_interface(acpi_string interface_name);
110
111acpi_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
224acpi_install_initialization_handler(acpi_init_handler handler, u32 function); 229acpi_install_initialization_handler(acpi_init_handler handler, u32 function);
225 230
226acpi_status 231acpi_status
232acpi_install_global_event_handler(ACPI_GBL_EVENT_HANDLER handler,
233 void *context);
234
235acpi_status
227acpi_install_fixed_event_handler(u32 acpi_event, 236acpi_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,
253acpi_status 262acpi_status
254acpi_install_gpe_handler(acpi_handle gpe_device, 263acpi_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
258acpi_status 267acpi_status
259acpi_remove_gpe_handler(acpi_handle gpe_device, 268acpi_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
263acpi_status acpi_install_exception_handler(acpi_exception_handler handler); 272acpi_status acpi_install_exception_handler(acpi_exception_handler handler);
264#endif 273#endif
265 274
275acpi_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
286acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); 297acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number);
287 298
288acpi_status acpi_gpe_can_wake(acpi_handle gpe_device, u32 gpe_number);
289
290acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); 299acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number);
291 300
292acpi_status acpi_gpe_wakeup(acpi_handle gpe_device, u32 gpe_number, u8 action); 301acpi_status
302acpi_setup_gpe_for_wake(acpi_handle parent_device,
303 acpi_handle gpe_device, u32 gpe_number);
304
305acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action);
293 306
294acpi_status 307acpi_status
295acpi_get_gpe_status(acpi_handle gpe_device, 308acpi_get_gpe_status(acpi_handle gpe_device,
@@ -308,6 +321,8 @@ acpi_install_gpe_block(acpi_handle gpe_device,
308 321
309acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); 322acpi_status acpi_remove_gpe_block(acpi_handle gpe_device);
310 323
324acpi_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
295enum acpi_prefered_pm_profiles { 295enum 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 {
119struct acpi_table_bert { 119struct 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
729struct acpi_table_slic {
730 struct acpi_table_header header; /* Common ACPI table header */
731};
732
733/* Common SLIC subtable header */
734
735struct acpi_slic_header {
736 u32 type;
737 u32 length;
738};
739
740/* Values for Type field above */
741
742enum 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
754struct 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
768struct 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 */
375typedef u8 acpi_owner_id; 378typedef u8 acpi_owner_id;
376#define ACPI_OWNER_ID_MAX 0xFF 379#define ACPI_OWNER_ID_MAX 0xFF
377 380
378struct uint64_struct {
379 u32 lo;
380 u32 hi;
381};
382
383union 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 */
915typedef
916void (*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
904typedef u32(*acpi_event_handler) (void *context); 923typedef u32(*acpi_event_handler) (void *context);
905 924
906typedef 925typedef
926u32 (*acpi_gpe_handler) (acpi_handle gpe_device, u32 gpe_number, void *context);
927
928typedef
907void (*acpi_notify_handler) (acpi_handle device, u32 value, void *context); 929void (*acpi_notify_handler) (acpi_handle device, u32 value, void *context);
908 930
909typedef 931typedef
@@ -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
975typedef
976u32 (*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 @@
19extern int hest_disable; 19extern int hest_disable;
20extern int erst_disable; 20extern int erst_disable;
21 21
22#ifdef CONFIG_ACPI_APEI
23void __init acpi_hest_init(void);
24#else
25static inline void acpi_hest_init(void) { return; }
26#endif
27
22typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data); 28typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data);
23int apei_hest_parse(apei_hest_func_t func, void *data); 29int apei_hest_parse(apei_hest_func_t func, void *data);
24 30
25int erst_write(const struct cper_record_header *record); 31int erst_write(const struct cper_record_header *record);
26ssize_t erst_get_record_count(void); 32ssize_t erst_get_record_count(void);
27int erst_get_next_record_id(u64 *record_id); 33int erst_get_record_id_begin(int *pos);
34int erst_get_record_id_next(int *pos, u64 *record_id);
35void erst_get_record_id_end(void);
28ssize_t erst_read(u64 record_id, struct cper_record_header *record, 36ssize_t erst_read(u64 record_id, struct cper_record_header *record,
29 size_t buflen); 37 size_t buflen);
30ssize_t erst_read_next(struct cper_record_header *record, size_t buflen);
31int erst_clear(u64 record_id); 38int 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 */
119static inline acpi_thread_id acpi_os_get_thread_id(void) 119static 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>
131static inline void *acpi_os_allocate(acpi_size size) 130static 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 */
312void acpi_processor_set_pdc(acpi_handle handle); 312void acpi_processor_set_pdc(acpi_handle handle);
313#ifdef CONFIG_SMP
314int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id); 313int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id);
315#else
316static 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 */
323int acpi_processor_tstate_has_changed(struct acpi_processor *pr); 316int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
324int acpi_processor_get_throttling_info(struct acpi_processor *pr); 317int acpi_processor_get_throttling_info(struct acpi_processor *pr);
325extern int acpi_processor_set_throttling(struct acpi_processor *pr, 318extern 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 */
324extern void acpi_processor_reevaluate_tstate(struct acpi_processor *pr,
325 unsigned long action);
327extern const struct file_operations acpi_processor_throttling_fops; 326extern const struct file_operations acpi_processor_throttling_fops;
328extern void acpi_processor_throttling_init(void); 327extern 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
6struct 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