ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

acpi_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.