Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenacpi_drivers.h
Go to the documentation of this file.
00001 /* 00002 * acpi_drivers.h ($Revision: 32 $) 00003 * 00004 * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> 00005 * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> 00006 * 00007 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or (at 00012 * your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License along 00020 * with this program; if not, write to the Free Software Foundation, Inc., 00021 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00022 * 00023 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00024 */ 00025 00026 #ifndef __ACPI_DRIVERS_H__ 00027 #define __ACPI_DRIVERS_H__ 00028 00029 #define ACPI_MAX_STRING 80 00030 00031 00032 /* -------------------------------------------------------------------------- 00033 ACPI Bus 00034 -------------------------------------------------------------------------- */ 00035 00036 #define ACPI_BUS_COMPONENT 0x00010000 00037 #define ACPI_BUS_CLASS "system_bus" 00038 #define ACPI_BUS_HID "ACPI_BUS" 00039 #define ACPI_BUS_DRIVER_NAME "ACPI Bus Driver" 00040 #define ACPI_BUS_DEVICE_NAME "System Bus" 00041 00042 00043 /* -------------------------------------------------------------------------- 00044 AC Adapter 00045 -------------------------------------------------------------------------- */ 00046 00047 #define ACPI_AC_COMPONENT 0x00020000 00048 #define ACPI_AC_CLASS "ac_adapter" 00049 #define ACPI_AC_HID "ACPI0003" 00050 #define ACPI_AC_DRIVER_NAME "ACPI AC Adapter Driver" 00051 #define ACPI_AC_DEVICE_NAME "AC Adapter" 00052 #define ACPI_AC_FILE_STATE "state" 00053 #define ACPI_AC_NOTIFY_STATUS 0x80 00054 #define ACPI_AC_STATUS_OFFLINE 0x00 00055 #define ACPI_AC_STATUS_ONLINE 0x01 00056 #define ACPI_AC_STATUS_UNKNOWN 0xFF 00057 00058 00059 /* -------------------------------------------------------------------------- 00060 Battery 00061 -------------------------------------------------------------------------- */ 00062 00063 #define ACPI_BATTERY_COMPONENT 0x00040000 00064 #define ACPI_BATTERY_CLASS "battery" 00065 #define ACPI_BATTERY_HID "PNP0C0A" 00066 #define ACPI_BATTERY_DRIVER_NAME "ACPI Battery Driver" 00067 #define ACPI_BATTERY_DEVICE_NAME "Battery" 00068 #define ACPI_BATTERY_FILE_INFO "info" 00069 #define ACPI_BATTERY_FILE_STATUS "state" 00070 #define ACPI_BATTERY_FILE_ALARM "alarm" 00071 #define ACPI_BATTERY_NOTIFY_STATUS 0x80 00072 #define ACPI_BATTERY_NOTIFY_INFO 0x81 00073 #define ACPI_BATTERY_UNITS_WATTS "mW" 00074 #define ACPI_BATTERY_UNITS_AMPS "mA" 00075 00076 00077 /* -------------------------------------------------------------------------- 00078 Button 00079 -------------------------------------------------------------------------- */ 00080 00081 #define ACPI_BUTTON_COMPONENT 0x00080000 00082 #define ACPI_BUTTON_DRIVER_NAME "ACPI Button Driver" 00083 #define ACPI_BUTTON_CLASS "button" 00084 #define ACPI_BUTTON_FILE_INFO "info" 00085 #define ACPI_BUTTON_FILE_STATE "state" 00086 #define ACPI_BUTTON_TYPE_UNKNOWN 0x00 00087 #define ACPI_BUTTON_NOTIFY_STATUS 0x80 00088 00089 #define ACPI_BUTTON_SUBCLASS_POWER "power" 00090 #define ACPI_BUTTON_HID_POWER "PNP0C0C" 00091 #define ACPI_BUTTON_HID_POWERF "ACPI_FPB" 00092 #define ACPI_BUTTON_DEVICE_NAME_POWER "Power Button (CM)" 00093 #define ACPI_BUTTON_DEVICE_NAME_POWERF "Power Button (FF)" 00094 #define ACPI_BUTTON_TYPE_POWER 0x01 00095 #define ACPI_BUTTON_TYPE_POWERF 0x02 00096 00097 #define ACPI_BUTTON_SUBCLASS_SLEEP "sleep" 00098 #define ACPI_BUTTON_HID_SLEEP "PNP0C0E" 00099 #define ACPI_BUTTON_HID_SLEEPF "ACPI_FSB" 00100 #define ACPI_BUTTON_DEVICE_NAME_SLEEP "Sleep Button (CM)" 00101 #define ACPI_BUTTON_DEVICE_NAME_SLEEPF "Sleep Button (FF)" 00102 #define ACPI_BUTTON_TYPE_SLEEP 0x03 00103 #define ACPI_BUTTON_TYPE_SLEEPF 0x04 00104 00105 #define ACPI_BUTTON_SUBCLASS_LID "lid" 00106 #define ACPI_BUTTON_HID_LID "PNP0C0D" 00107 #define ACPI_BUTTON_DEVICE_NAME_LID "Lid Switch" 00108 #define ACPI_BUTTON_TYPE_LID 0x05 00109 00110 int acpi_button_init (void); 00111 void acpi_button_exit (void); 00112 00113 /* -------------------------------------------------------------------------- 00114 Embedded Controller 00115 -------------------------------------------------------------------------- */ 00116 00117 #define ACPI_EC_COMPONENT 0x00100000 00118 #define ACPI_EC_CLASS "embedded_controller" 00119 #define ACPI_EC_HID "PNP0C09" 00120 #define ACPI_EC_DRIVER_NAME "ACPI Embedded Controller Driver" 00121 #define ACPI_EC_DEVICE_NAME "Embedded Controller" 00122 #define ACPI_EC_FILE_INFO "info" 00123 00124 #ifdef CONFIG_ACPI_EC 00125 00126 int acpi_ec_ecdt_probe (void); 00127 int acpi_ec_init (void); 00128 void acpi_ec_exit (void); 00129 00130 #endif 00131 00132 00133 /* -------------------------------------------------------------------------- 00134 Fan 00135 -------------------------------------------------------------------------- */ 00136 00137 #define ACPI_FAN_COMPONENT 0x00200000 00138 #define ACPI_FAN_CLASS "fan" 00139 #define ACPI_FAN_HID "PNP0C0B" 00140 #define ACPI_FAN_DRIVER_NAME "ACPI Fan Driver" 00141 #define ACPI_FAN_DEVICE_NAME "Fan" 00142 #define ACPI_FAN_FILE_STATE "state" 00143 #define ACPI_FAN_NOTIFY_STATUS 0x80 00144 00145 00146 /* -------------------------------------------------------------------------- 00147 PCI 00148 -------------------------------------------------------------------------- */ 00149 00150 #ifdef CONFIG_ACPI_PCI 00151 00152 #define ACPI_PCI_COMPONENT 0x00400000 00153 00154 /* ACPI PCI Root Bridge (pci_root.c) */ 00155 00156 #define ACPI_PCI_ROOT_CLASS "pci_bridge" 00157 #define ACPI_PCI_ROOT_HID "PNP0A03" 00158 #define ACPI_PCI_ROOT_DRIVER_NAME "ACPI PCI Root Bridge Driver" 00159 #define ACPI_PCI_ROOT_DEVICE_NAME "PCI Root Bridge" 00160 00161 int acpi_pci_root_init (void); 00162 void acpi_pci_root_exit (void); 00163 00164 /* ACPI PCI Interrupt Link (pci_link.c) */ 00165 00166 #define ACPI_PCI_LINK_CLASS "pci_irq_routing" 00167 #define ACPI_PCI_LINK_HID "PNP0C0F" 00168 #define ACPI_PCI_LINK_DRIVER_NAME "ACPI PCI Interrupt Link Driver" 00169 #define ACPI_PCI_LINK_DEVICE_NAME "PCI Interrupt Link" 00170 #define ACPI_PCI_LINK_FILE_INFO "info" 00171 #define ACPI_PCI_LINK_FILE_STATUS "state" 00172 00173 int acpi_pci_link_check (void); 00174 int acpi_pci_link_get_irq (ACPI_HANDLE handle, int index, int* edge_level, int* active_high_low); 00175 int acpi_pci_link_init (void); 00176 void acpi_pci_link_exit (void); 00177 00178 /* ACPI PCI Interrupt Routing (pci_irq.c) */ 00179 00180 int acpi_pci_irq_add_prt (ACPI_HANDLE handle, int segment, int bus); 00181 00182 /* ACPI PCI Device Binding (pci_bind.c) */ 00183 00184 struct pci_bus; 00185 00186 int acpi_pci_bind (struct acpi_device *device); 00187 int acpi_pci_bind_root (struct acpi_device *device, struct acpi_pci_id *id, struct pci_bus *bus); 00188 00189 #endif /*CONFIG_ACPI_PCI*/ 00190 00191 00192 /* -------------------------------------------------------------------------- 00193 Power Resource 00194 -------------------------------------------------------------------------- */ 00195 00196 #define ACPI_POWER_COMPONENT 0x00800000 00197 #define ACPI_POWER_CLASS "power_resource" 00198 #define ACPI_POWER_HID "ACPI_PWR" 00199 #define ACPI_POWER_DRIVER_NAME "ACPI Power Resource Driver" 00200 #define ACPI_POWER_DEVICE_NAME "Power Resource" 00201 #define ACPI_POWER_FILE_INFO "info" 00202 #define ACPI_POWER_FILE_STATUS "state" 00203 #define ACPI_POWER_RESOURCE_STATE_OFF 0x00 00204 #define ACPI_POWER_RESOURCE_STATE_ON 0x01 00205 #define ACPI_POWER_RESOURCE_STATE_UNKNOWN 0xFF 00206 00207 00208 00209 int acpi_power_get_inferred_state (struct acpi_device *device); 00210 int acpi_power_transition (struct acpi_device *device, int state); 00211 int acpi_power_init (void); 00212 void acpi_power_exit (void); 00213 00214 00215 /* -------------------------------------------------------------------------- 00216 Processor 00217 -------------------------------------------------------------------------- */ 00218 00219 #define ACPI_PROCESSOR_COMPONENT 0x01000000 00220 #define ACPI_PROCESSOR_CLASS "processor" 00221 #define ACPI_PROCESSOR_HID "Processor" 00222 #define ACPI_PROCESSOR_DRIVER_NAME "ACPI Processor Driver" 00223 #define ACPI_PROCESSOR_DEVICE_NAME "Processor" 00224 #define ACPI_PROCESSOR_FILE_INFO "info" 00225 #define ACPI_PROCESSOR_FILE_POWER "power" 00226 #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" 00227 #define ACPI_PROCESSOR_FILE_THROTTLING "throttling" 00228 #define ACPI_PROCESSOR_FILE_LIMIT "limit" 00229 #define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80 00230 #define ACPI_PROCESSOR_NOTIFY_POWER 0x81 00231 #define ACPI_PROCESSOR_LIMIT_NONE 0x00 00232 #define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01 00233 #define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02 00234 00235 int acpi_processor_set_thermal_limit(ACPI_HANDLE handle, int type); 00236 00237 00238 /* -------------------------------------------------------------------------- 00239 System 00240 -------------------------------------------------------------------------- */ 00241 00242 #define ACPI_SYSTEM_COMPONENT 0x02000000 00243 #define ACPI_SYSTEM_CLASS "system" 00244 #define ACPI_SYSTEM_HID "ACPI_SYS" 00245 #define ACPI_SYSTEM_DRIVER_NAME "ACPI System Driver" 00246 #define ACPI_SYSTEM_DEVICE_NAME "System" 00247 #define ACPI_SYSTEM_FILE_INFO "info" 00248 #define ACPI_SYSTEM_FILE_EVENT "event" 00249 #define ACPI_SYSTEM_FILE_ALARM "alarm" 00250 #define ACPI_SYSTEM_FILE_DSDT "dsdt" 00251 #define ACPI_SYSTEM_FILE_FADT "fadt" 00252 #define ACPI_SYSTEM_FILE_SLEEP "sleep" 00253 #define ACPI_SYSTEM_FILE_DEBUG_LAYER "debug_layer" 00254 #define ACPI_SYSTEM_FILE_DEBUG_LEVEL "debug_level" 00255 00256 int acpi_system_init (void); 00257 void acpi_system_exit (void); 00258 00259 00260 /* -------------------------------------------------------------------------- 00261 Thermal Zone 00262 -------------------------------------------------------------------------- */ 00263 00264 #define ACPI_THERMAL_COMPONENT 0x04000000 00265 #define ACPI_THERMAL_CLASS "thermal_zone" 00266 #define ACPI_THERMAL_HID "ThermalZone" 00267 #define ACPI_THERMAL_DRIVER_NAME "ACPI Thermal Zone Driver" 00268 #define ACPI_THERMAL_DEVICE_NAME "Thermal Zone" 00269 #define ACPI_THERMAL_FILE_STATE "state" 00270 #define ACPI_THERMAL_FILE_TEMPERATURE "temperature" 00271 #define ACPI_THERMAL_FILE_TRIP_POINTS "trip_points" 00272 #define ACPI_THERMAL_FILE_COOLING_MODE "cooling_mode" 00273 #define ACPI_THERMAL_FILE_POLLING_FREQ "polling_frequency" 00274 #define ACPI_THERMAL_NOTIFY_TEMPERATURE 0x80 00275 #define ACPI_THERMAL_NOTIFY_THRESHOLDS 0x81 00276 #define ACPI_THERMAL_NOTIFY_DEVICES 0x82 00277 #define ACPI_THERMAL_NOTIFY_CRITICAL 0xF0 00278 #define ACPI_THERMAL_NOTIFY_HOT 0xF1 00279 #define ACPI_THERMAL_MODE_ACTIVE 0x00 00280 #define ACPI_THERMAL_MODE_PASSIVE 0x01 00281 #define ACPI_THERMAL_PATH_POWEROFF "/sbin/poweroff" 00282 00283 /* Motherboard devices */ 00284 int acpi_motherboard_init(void); 00285 /* -------------------------------------------------------------------------- 00286 Debug Support 00287 -------------------------------------------------------------------------- */ 00288 00289 #define ACPI_DEBUG_RESTORE 0 00290 #define ACPI_DEBUG_LOW 1 00291 #define ACPI_DEBUG_MEDIUM 2 00292 #define ACPI_DEBUG_HIGH 3 00293 #define ACPI_DEBUG_DRIVERS 4 00294 00295 extern UINT32 acpi_dbg_level; 00296 extern UINT32 acpi_dbg_layer; 00297 00298 static inline void 00299 acpi_set_debug ( 00300 UINT32 flag) 00301 { 00302 static UINT32 layer_save; 00303 static UINT32 level_save; 00304 00305 switch (flag) { 00306 case ACPI_DEBUG_RESTORE: 00307 acpi_dbg_layer = layer_save; 00308 acpi_dbg_level = level_save; 00309 break; 00310 case ACPI_DEBUG_LOW: 00311 case ACPI_DEBUG_MEDIUM: 00312 case ACPI_DEBUG_HIGH: 00313 case ACPI_DEBUG_DRIVERS: 00314 layer_save = acpi_dbg_layer; 00315 level_save = acpi_dbg_level; 00316 break; 00317 } 00318 00319 switch (flag) { 00320 case ACPI_DEBUG_LOW: 00321 acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; 00322 acpi_dbg_level = ACPI_DEBUG_DEFAULT; 00323 break; 00324 case ACPI_DEBUG_MEDIUM: 00325 acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; 00326 acpi_dbg_level = ACPI_LV_FUNCTIONS | ACPI_LV_ALL_EXCEPTIONS; 00327 break; 00328 case ACPI_DEBUG_HIGH: 00329 acpi_dbg_layer = 0xFFFFFFFF; 00330 acpi_dbg_level = 0xFFFFFFFF; 00331 break; 00332 case ACPI_DEBUG_DRIVERS: 00333 acpi_dbg_layer = ACPI_ALL_DRIVERS; 00334 acpi_dbg_level = 0xFFFFFFFF; 00335 break; 00336 } 00337 } 00338 00339 00340 #endif /*__ACPI_DRIVERS_H__*/ Generated on Sun May 27 2012 04:27:26 for ReactOS by
1.7.6.1
|