ReactOS 0.4.16-dev-336-gb667d82
acpi_drivers.h
Go to the documentation of this file.
1/*
2 * acpi_drivers.h ($Revision: 32 $)
3 *
4 * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com>
5 * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
6 *
7 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or (at
12 * your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
22 *
23 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 */
25
26#ifndef __ACPI_DRIVERS_H__
27#define __ACPI_DRIVERS_H__
28
29#define ACPI_MAX_STRING 80
30
31
32/* --------------------------------------------------------------------------
33 ACPI Bus
34 -------------------------------------------------------------------------- */
35
36#define ACPI_BUS_COMPONENT 0x00010000
37#define ACPI_BUS_CLASS "system_bus"
38#define ACPI_BUS_HID "ACPI_BUS"
39#define ACPI_BUS_DRIVER_NAME "ACPI Bus Driver"
40#define ACPI_BUS_DEVICE_NAME "System Bus"
41
42
43/* --------------------------------------------------------------------------
44 AC Adapter
45 -------------------------------------------------------------------------- */
46
47#define ACPI_AC_COMPONENT 0x00020000
48#define ACPI_AC_CLASS "ac_adapter"
49#define ACPI_AC_HID "ACPI0003"
50#define ACPI_AC_DRIVER_NAME "ACPI AC Adapter Driver"
51#define ACPI_AC_DEVICE_NAME "AC Adapter"
52#define ACPI_AC_FILE_STATE "state"
53#define ACPI_AC_NOTIFY_STATUS 0x80
54#define ACPI_AC_STATUS_OFFLINE 0x00
55#define ACPI_AC_STATUS_ONLINE 0x01
56#define ACPI_AC_STATUS_UNKNOWN 0xFF
57
58
59/* --------------------------------------------------------------------------
60 Battery
61 -------------------------------------------------------------------------- */
62
63#define ACPI_BATTERY_COMPONENT 0x00040000
64#define ACPI_BATTERY_CLASS "battery"
65#define ACPI_BATTERY_HID "PNP0C0A"
66#define ACPI_BATTERY_DRIVER_NAME "ACPI Battery Driver"
67#define ACPI_BATTERY_DEVICE_NAME "Battery"
68#define ACPI_BATTERY_FILE_INFO "info"
69#define ACPI_BATTERY_FILE_STATUS "state"
70#define ACPI_BATTERY_FILE_ALARM "alarm"
71#define ACPI_BATTERY_NOTIFY_STATUS 0x80
72#define ACPI_BATTERY_NOTIFY_INFO 0x81
73#define ACPI_BATTERY_UNITS_WATTS "mW"
74#define ACPI_BATTERY_UNITS_AMPS "mA"
75
76
77/* --------------------------------------------------------------------------
78 Button
79 -------------------------------------------------------------------------- */
80
81#define ACPI_BUTTON_COMPONENT 0x00080000
82#define ACPI_BUTTON_DRIVER_NAME "ACPI Button Driver"
83#define ACPI_BUTTON_CLASS "button"
84#define ACPI_BUTTON_FILE_INFO "info"
85#define ACPI_BUTTON_FILE_STATE "state"
86#define ACPI_BUTTON_TYPE_UNKNOWN 0x00
87#define ACPI_BUTTON_NOTIFY_STATUS 0x80
88
89#define ACPI_BUTTON_SUBCLASS_POWER "power"
90#define ACPI_BUTTON_HID_POWER "PNP0C0C"
91#define ACPI_BUTTON_HID_POWERF "ACPI_FPB"
92#define ACPI_BUTTON_DEVICE_NAME_POWER "Power Button (CM)"
93#define ACPI_BUTTON_DEVICE_NAME_POWERF "Power Button (FF)"
94#define ACPI_BUTTON_TYPE_POWER 0x01
95#define ACPI_BUTTON_TYPE_POWERF 0x02
96
97#define ACPI_BUTTON_SUBCLASS_SLEEP "sleep"
98#define ACPI_BUTTON_HID_SLEEP "PNP0C0E"
99#define ACPI_BUTTON_HID_SLEEPF "ACPI_FSB"
100#define ACPI_BUTTON_DEVICE_NAME_SLEEP "Sleep Button (CM)"
101#define ACPI_BUTTON_DEVICE_NAME_SLEEPF "Sleep Button (FF)"
102#define ACPI_BUTTON_TYPE_SLEEP 0x03
103#define ACPI_BUTTON_TYPE_SLEEPF 0x04
104
105#define ACPI_BUTTON_SUBCLASS_LID "lid"
106#define ACPI_BUTTON_HID_LID "PNP0C0D"
107#define ACPI_BUTTON_DEVICE_NAME_LID "Lid Switch"
108#define ACPI_BUTTON_TYPE_LID 0x05
109
110int acpi_button_init (void);
111void acpi_button_exit (void);
112
113/* --------------------------------------------------------------------------
114 Embedded Controller
115 -------------------------------------------------------------------------- */
116
117#define ACPI_EC_COMPONENT 0x00100000
118#define ACPI_EC_CLASS "embedded_controller"
119#define ACPI_EC_HID "PNP0C09"
120#define ACPI_EC_DRIVER_NAME "ACPI Embedded Controller Driver"
121#define ACPI_EC_DEVICE_NAME "Embedded Controller"
122#define ACPI_EC_FILE_INFO "info"
123
124#ifdef CONFIG_ACPI_EC
125
126int acpi_ec_ecdt_probe (void);
127int acpi_ec_init (void);
128void acpi_ec_exit (void);
129
130#endif
131
132
133/* --------------------------------------------------------------------------
134 Fan
135 -------------------------------------------------------------------------- */
136
137#define ACPI_FAN_COMPONENT 0x00200000
138#define ACPI_FAN_CLASS "fan"
139#define ACPI_FAN_HID "PNP0C0B"
140#define ACPI_FAN_DRIVER_NAME "ACPI Fan Driver"
141#define ACPI_FAN_DEVICE_NAME "Fan"
142#define ACPI_FAN_FILE_STATE "state"
143#define ACPI_FAN_NOTIFY_STATUS 0x80
144
145
146/* --------------------------------------------------------------------------
147 PCI
148 -------------------------------------------------------------------------- */
149
150#ifdef CONFIG_ACPI_PCI
151
152#define ACPI_PCI_COMPONENT 0x00400000
153
154/* ACPI PCI Root Bridge (pci_root.c) */
155
156#define ACPI_PCI_ROOT_CLASS "pci_bridge"
157#define ACPI_PCI_ROOT_HID "PNP0A03"
158#define ACPI_PCI_ROOT_DRIVER_NAME "ACPI PCI Root Bridge Driver"
159#define ACPI_PCI_ROOT_DEVICE_NAME "PCI Root Bridge"
160
161int acpi_pci_root_init (void);
162void acpi_pci_root_exit (void);
163
164/* ACPI PCI Interrupt Link (pci_link.c) */
165
166#define ACPI_PCI_LINK_CLASS "pci_irq_routing"
167#define ACPI_PCI_LINK_HID "PNP0C0F"
168#define ACPI_PCI_LINK_DRIVER_NAME "ACPI PCI Interrupt Link Driver"
169#define ACPI_PCI_LINK_DEVICE_NAME "PCI Interrupt Link"
170#define ACPI_PCI_LINK_FILE_INFO "info"
171#define ACPI_PCI_LINK_FILE_STATUS "state"
172
173int acpi_pci_link_check (void);
174int acpi_pci_link_get_irq (ACPI_HANDLE handle, int index, int* edge_level, int* active_high_low);
175int acpi_pci_link_init (void);
176void acpi_pci_link_exit (void);
177
178/* ACPI PCI Interrupt Routing (pci_irq.c) */
179
180int acpi_pci_irq_add_prt (ACPI_HANDLE handle, int segment, int bus);
181
182/* ACPI PCI Device Binding (pci_bind.c) */
183
184struct pci_bus;
185
186int acpi_pci_bind (struct acpi_device *device);
187int acpi_pci_bind_root (struct acpi_device *device, struct acpi_pci_id *id, struct pci_bus *bus);
188
189#endif /*CONFIG_ACPI_PCI*/
190
191
192/* --------------------------------------------------------------------------
193 Power Resource
194 -------------------------------------------------------------------------- */
195
196#define ACPI_POWER_COMPONENT 0x00800000
197#define ACPI_POWER_CLASS "power_resource"
198#define ACPI_POWER_HID "ACPI_PWR"
199#define ACPI_POWER_DRIVER_NAME "ACPI Power Resource Driver"
200#define ACPI_POWER_DEVICE_NAME "Power Resource"
201#define ACPI_POWER_FILE_INFO "info"
202#define ACPI_POWER_FILE_STATUS "state"
203#define ACPI_POWER_RESOURCE_STATE_OFF 0x00
204#define ACPI_POWER_RESOURCE_STATE_ON 0x01
205#define ACPI_POWER_RESOURCE_STATE_UNKNOWN 0xFF
206
207
208
211int acpi_power_init (void);
212void acpi_power_exit (void);
213
214
215/* --------------------------------------------------------------------------
216 Processor
217 -------------------------------------------------------------------------- */
218
219#define ACPI_PROCESSOR_COMPONENT 0x01000000
220#define ACPI_PROCESSOR_CLASS "processor"
221#define ACPI_PROCESSOR_HID "Processor"
222#define ACPI_PROCESSOR_DRIVER_NAME "ACPI Processor Driver"
223#define ACPI_PROCESSOR_DEVICE_NAME "Processor"
224#define ACPI_PROCESSOR_FILE_INFO "info"
225#define ACPI_PROCESSOR_FILE_POWER "power"
226#define ACPI_PROCESSOR_FILE_PERFORMANCE "performance"
227#define ACPI_PROCESSOR_FILE_THROTTLING "throttling"
228#define ACPI_PROCESSOR_FILE_LIMIT "limit"
229#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80
230#define ACPI_PROCESSOR_NOTIFY_POWER 0x81
231#define ACPI_PROCESSOR_LIMIT_NONE 0x00
232#define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01
233#define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02
234
236
237
238/* --------------------------------------------------------------------------
239 System
240 -------------------------------------------------------------------------- */
241
242#define ACPI_SYSTEM_COMPONENT 0x02000000
243#define ACPI_SYSTEM_CLASS "system"
244#define ACPI_SYSTEM_HID "ACPI_SYS"
245#define ACPI_SYSTEM_DRIVER_NAME "ACPI System Driver"
246#define ACPI_SYSTEM_DEVICE_NAME "System"
247#define ACPI_SYSTEM_FILE_INFO "info"
248#define ACPI_SYSTEM_FILE_EVENT "event"
249#define ACPI_SYSTEM_FILE_ALARM "alarm"
250#define ACPI_SYSTEM_FILE_DSDT "dsdt"
251#define ACPI_SYSTEM_FILE_FADT "fadt"
252#define ACPI_SYSTEM_FILE_SLEEP "sleep"
253#define ACPI_SYSTEM_FILE_DEBUG_LAYER "debug_layer"
254#define ACPI_SYSTEM_FILE_DEBUG_LEVEL "debug_level"
255
256int acpi_system_init (void);
257void acpi_system_exit (void);
258
259
260/* --------------------------------------------------------------------------
261 Thermal Zone
262 -------------------------------------------------------------------------- */
263
264#define ACPI_THERMAL_COMPONENT 0x04000000
265#define ACPI_THERMAL_CLASS "thermal_zone"
266#define ACPI_THERMAL_HID "ThermalZone"
267#define ACPI_THERMAL_DRIVER_NAME "ACPI Thermal Zone Driver"
268#define ACPI_THERMAL_DEVICE_NAME "Thermal Zone"
269#define ACPI_THERMAL_FILE_STATE "state"
270#define ACPI_THERMAL_FILE_TEMPERATURE "temperature"
271#define ACPI_THERMAL_FILE_TRIP_POINTS "trip_points"
272#define ACPI_THERMAL_FILE_COOLING_MODE "cooling_mode"
273#define ACPI_THERMAL_FILE_POLLING_FREQ "polling_frequency"
274#define ACPI_THERMAL_NOTIFY_TEMPERATURE 0x80
275#define ACPI_THERMAL_NOTIFY_THRESHOLDS 0x81
276#define ACPI_THERMAL_NOTIFY_DEVICES 0x82
277#define ACPI_THERMAL_NOTIFY_CRITICAL 0xF0
278#define ACPI_THERMAL_NOTIFY_HOT 0xF1
279#define ACPI_THERMAL_MODE_ACTIVE 0x00
280#define ACPI_THERMAL_MODE_PASSIVE 0x01
281#define ACPI_THERMAL_PATH_POWEROFF "/sbin/poweroff"
282
283/* Motherboard devices */
285/* --------------------------------------------------------------------------
286 Debug Support
287 -------------------------------------------------------------------------- */
288
289#define ACPI_DEBUG_RESTORE 0
290#define ACPI_DEBUG_LOW 1
291#define ACPI_DEBUG_MEDIUM 2
292#define ACPI_DEBUG_HIGH 3
293#define ACPI_DEBUG_DRIVERS 4
294
297
298static inline void
300 UINT32 flag)
301{
302 static UINT32 layer_save;
303 static UINT32 level_save;
304
305 switch (flag) {
307 acpi_dbg_layer = layer_save;
308 acpi_dbg_level = level_save;
309 break;
310 case ACPI_DEBUG_LOW:
312 case ACPI_DEBUG_HIGH:
314 layer_save = acpi_dbg_layer;
315 level_save = acpi_dbg_level;
316 break;
317 }
318
319 switch (flag) {
320 case ACPI_DEBUG_LOW:
323 break;
327 break;
328 case ACPI_DEBUG_HIGH:
329 acpi_dbg_layer = 0xFFFFFFFF;
330 acpi_dbg_level = 0xFFFFFFFF;
331 break;
334 acpi_dbg_level = 0xFFFFFFFF;
335 break;
336 }
337}
338
339
340#endif /*__ACPI_DRIVERS_H__*/
unsigned int UINT32
#define ACPI_ALL_DRIVERS
Definition: acoutput.h:82
#define ACPI_DEBUG_DEFAULT
Definition: acoutput.h:189
#define ACPI_COMPONENT_DEFAULT
Definition: acoutput.h:78
#define ACPI_LV_ALL_EXCEPTIONS
Definition: acoutput.h:93
#define ACPI_LV_FUNCTIONS
Definition: acoutput.h:117
#define ACPI_DEBUG_HIGH
Definition: acpi_drivers.h:292
#define ACPI_DEBUG_LOW
Definition: acpi_drivers.h:290
UINT32 acpi_dbg_layer
int acpi_motherboard_init(void)
void acpi_power_exit(void)
#define ACPI_DEBUG_MEDIUM
Definition: acpi_drivers.h:291
int acpi_system_init(void)
Definition: system.c:399
int acpi_processor_set_thermal_limit(ACPI_HANDLE handle, int type)
int acpi_power_get_inferred_state(struct acpi_device *device)
Definition: power.c:444
static void acpi_set_debug(UINT32 flag)
Definition: acpi_drivers.h:299
#define ACPI_DEBUG_DRIVERS
Definition: acpi_drivers.h:293
int acpi_power_init(void)
Definition: power.c:660
void acpi_system_exit(void)
Definition: system.c:414
void acpi_button_exit(void)
Definition: button.c:314
#define ACPI_DEBUG_RESTORE
Definition: acpi_drivers.h:289
int acpi_power_transition(struct acpi_device *device, int state)
Definition: power.c:484
int acpi_button_init(void)
Definition: button.c:298
UINT32 acpi_dbg_level
static int state
Definition: maze.c:121
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint index
Definition: glext.h:6031
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
Definition: glfuncs.h:52
Definition: devices.h:37