home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / acpi / acevents.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  6.5 KB  |  217 lines

  1. /******************************************************************************
  2.  *
  3.  * Name: acevents.h - Event subcomponent prototypes and defines
  4.  *
  5.  *****************************************************************************/
  6.  
  7. /*
  8.  * Copyright (C) 2000 - 2008, Intel Corp.
  9.  * All rights reserved.
  10.  *
  11.  * Redistribution and use in source and binary forms, with or without
  12.  * modification, are permitted provided that the following conditions
  13.  * are met:
  14.  * 1. Redistributions of source code must retain the above copyright
  15.  *    notice, this list of conditions, and the following disclaimer,
  16.  *    without modification.
  17.  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18.  *    substantially similar to the "NO WARRANTY" disclaimer below
  19.  *    ("Disclaimer") and any redistribution must be conditioned upon
  20.  *    including a substantially similar Disclaimer requirement for further
  21.  *    binary redistribution.
  22.  * 3. Neither the names of the above-listed copyright holders nor the names
  23.  *    of any contributors may be used to endorse or promote products derived
  24.  *    from this software without specific prior written permission.
  25.  *
  26.  * Alternatively, this software may be distributed under the terms of the
  27.  * GNU General Public License ("GPL") version 2 as published by the Free
  28.  * Software Foundation.
  29.  *
  30.  * NO WARRANTY
  31.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  32.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  33.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
  34.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  35.  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  36.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  39.  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  40.  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  41.  * POSSIBILITY OF SUCH DAMAGES.
  42.  */
  43.  
  44. #ifndef __ACEVENTS_H__
  45. #define __ACEVENTS_H__
  46.  
  47. /*
  48.  * evevent
  49.  */
  50. acpi_status acpi_ev_initialize_events(void);
  51.  
  52. acpi_status acpi_ev_install_xrupt_handlers(void);
  53.  
  54. acpi_status acpi_ev_install_fadt_gpes(void);
  55.  
  56. u32 acpi_ev_fixed_event_detect(void);
  57.  
  58. /*
  59.  * evmisc
  60.  */
  61. u8 acpi_ev_is_notify_object(struct acpi_namespace_node *node);
  62.  
  63. acpi_status acpi_ev_acquire_global_lock(u16 timeout);
  64.  
  65. acpi_status acpi_ev_release_global_lock(void);
  66.  
  67. acpi_status acpi_ev_init_global_lock_handler(void);
  68.  
  69. u32 acpi_ev_get_gpe_number_index(u32 gpe_number);
  70.  
  71. acpi_status
  72. acpi_ev_queue_notify_request(struct acpi_namespace_node *node,
  73.                  u32 notify_value);
  74.  
  75. /*
  76.  * evgpe - GPE handling and dispatch
  77.  */
  78. acpi_status
  79. acpi_ev_update_gpe_enable_masks(struct acpi_gpe_event_info *gpe_event_info,
  80.                 u8 type);
  81.  
  82. acpi_status
  83. acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info,
  84.            u8 write_to_hardware);
  85.  
  86. acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info);
  87.  
  88. struct acpi_gpe_event_info *acpi_ev_get_gpe_event_info(acpi_handle gpe_device,
  89.                                u32 gpe_number);
  90.  
  91. /*
  92.  * evgpeblk
  93.  */
  94. u8 acpi_ev_valid_gpe_event(struct acpi_gpe_event_info *gpe_event_info);
  95.  
  96. acpi_status acpi_ev_walk_gpe_list(acpi_gpe_callback gpe_walk_callback);
  97.  
  98. acpi_status
  99. acpi_ev_delete_gpe_handlers(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
  100.                 struct acpi_gpe_block_info *gpe_block);
  101.  
  102. acpi_status
  103. acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device,
  104.              struct acpi_generic_address *gpe_block_address,
  105.              u32 register_count,
  106.              u8 gpe_block_base_number,
  107.              u32 interrupt_number,
  108.              struct acpi_gpe_block_info **return_gpe_block);
  109.  
  110. acpi_status
  111. acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
  112.                  struct acpi_gpe_block_info *gpe_block);
  113.  
  114. acpi_status acpi_ev_delete_gpe_block(struct acpi_gpe_block_info *gpe_block);
  115.  
  116. u32
  117. acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info,
  118.              u32 gpe_number);
  119.  
  120. u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info *gpe_xrupt_list);
  121.  
  122. acpi_status
  123. acpi_ev_set_gpe_type(struct acpi_gpe_event_info *gpe_event_info, u8 type);
  124.  
  125. acpi_status
  126. acpi_ev_check_for_wake_only_gpe(struct acpi_gpe_event_info *gpe_event_info);
  127.  
  128. acpi_status acpi_ev_gpe_initialize(void);
  129.  
  130. /*
  131.  * evregion - Address Space handling
  132.  */
  133. acpi_status acpi_ev_install_region_handlers(void);
  134.  
  135. acpi_status acpi_ev_initialize_op_regions(void);
  136.  
  137. acpi_status
  138. acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj,
  139.                    u32 function,
  140.                    acpi_physical_address address,
  141.                    u32 bit_width, acpi_integer * value);
  142.  
  143. acpi_status
  144. acpi_ev_attach_region(union acpi_operand_object *handler_obj,
  145.               union acpi_operand_object *region_obj,
  146.               u8 acpi_ns_is_locked);
  147.  
  148. void
  149. acpi_ev_detach_region(union acpi_operand_object *region_obj,
  150.               u8 acpi_ns_is_locked);
  151.  
  152. acpi_status
  153. acpi_ev_install_space_handler(struct acpi_namespace_node *node,
  154.                   acpi_adr_space_type space_id,
  155.                   acpi_adr_space_handler handler,
  156.                   acpi_adr_space_setup setup, void *context);
  157.  
  158. acpi_status
  159. acpi_ev_execute_reg_methods(struct acpi_namespace_node *node,
  160.                 acpi_adr_space_type space_id);
  161.  
  162. acpi_status
  163. acpi_ev_execute_reg_method(union acpi_operand_object *region_obj, u32 function);
  164.  
  165. /*
  166.  * evregini - Region initialization and setup
  167.  */
  168. acpi_status
  169. acpi_ev_system_memory_region_setup(acpi_handle handle,
  170.                    u32 function,
  171.                    void *handler_context,
  172.                    void **region_context);
  173.  
  174. acpi_status
  175. acpi_ev_io_space_region_setup(acpi_handle handle,
  176.                   u32 function,
  177.                   void *handler_context, void **region_context);
  178.  
  179. acpi_status
  180. acpi_ev_pci_config_region_setup(acpi_handle handle,
  181.                 u32 function,
  182.                 void *handler_context, void **region_context);
  183.  
  184. acpi_status
  185. acpi_ev_cmos_region_setup(acpi_handle handle,
  186.               u32 function,
  187.               void *handler_context, void **region_context);
  188.  
  189. acpi_status
  190. acpi_ev_pci_bar_region_setup(acpi_handle handle,
  191.                  u32 function,
  192.                  void *handler_context, void **region_context);
  193.  
  194. acpi_status
  195. acpi_ev_default_region_setup(acpi_handle handle,
  196.                  u32 function,
  197.                  void *handler_context, void **region_context);
  198.  
  199. acpi_status
  200. acpi_ev_initialize_region(union acpi_operand_object *region_obj,
  201.               u8 acpi_ns_locked);
  202.  
  203. /*
  204.  * evsci - SCI (System Control Interrupt) handling/dispatch
  205.  */
  206. u32 ACPI_SYSTEM_XFACE acpi_ev_gpe_xrupt_handler(void *context);
  207.  
  208. u32 acpi_ev_install_sci_handler(void);
  209.  
  210. acpi_status acpi_ev_remove_sci_handler(void);
  211.  
  212. u32 acpi_ev_initialize_sCI(u32 program_sCI);
  213.  
  214. void acpi_ev_terminate(void);
  215.  
  216. #endif                /* __ACEVENTS_H__  */
  217.