Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
acevents.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Name: acevents.h - Event subcomponent prototypes and defines
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2012, 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  */
51 
53 
55 
56 /*
57  * evmisc
58  */
60 
62 
65  u32 notify_value);
66 
67 /*
68  * evglock - Global Lock support
69  */
71 
76 
77 /*
78  * evgpe - Low-level GPE support
79  */
81 
84 
86 
88 
90 
92  u32 gpe_number);
93 
96  *gpe_block);
97 
99 
100 /*
101  * evgpeblk - Upper-level GPE block support
102  */
105  struct acpi_generic_address *gpe_block_address,
106  u32 register_count,
107  u8 gpe_block_base_number,
108  u32 interrupt_number,
109  struct acpi_gpe_block_info **return_gpe_block);
110 
113  struct acpi_gpe_block_info *gpe_block,
114  void *context);
115 
118  *gpe_block))
119 
120 u32
122  struct acpi_gpe_event_info *gpe_event_info,
123  u32 gpe_number);
124 
125 /*
126  * evgpeinit - GPE initialization and update
127  */
129 
131  acpi_ev_update_gpes(acpi_owner_id table_owner_id))
132 
135  u32 level, void *context, void **return_value);
136 
137 /*
138  * evgpeutil - GPE utilities
139  */
141 acpi_ev_walk_gpe_list(acpi_gpe_callback gpe_walk_callback, void *context);
142 
144 
147  struct acpi_gpe_block_info *gpe_block, void *context);
148 
150 
152 
155  struct acpi_gpe_block_info *gpe_block,
156  void *context);
157 
158 /*
159  * evregion - Address Space handling
160  */
162 
164 
167  union acpi_operand_object *field_obj,
168  u32 function,
169  u32 region_offset, u32 bit_width, u64 *value);
170 
172 acpi_ev_attach_region(union acpi_operand_object *handler_obj,
173  union acpi_operand_object *region_obj,
174  u8 acpi_ns_is_locked);
175 
176 void
178  u8 acpi_ns_is_locked);
179 
182  acpi_adr_space_type space_id,
183  acpi_adr_space_handler handler,
184  acpi_adr_space_setup setup, void *context);
185 
188  acpi_adr_space_type space_id);
189 
191 acpi_ev_execute_reg_method(union acpi_operand_object *region_obj, u32 function);
192 
193 /*
194  * evregini - Region initialization and setup
195  */
198  u32 function,
199  void *handler_context,
200  void **region_context);
201 
204  u32 function,
205  void *handler_context, void **region_context);
206 
209  u32 function,
210  void *handler_context, void **region_context);
211 
214  u32 function,
215  void *handler_context, void **region_context);
216 
219  u32 function,
220  void *handler_context, void **region_context);
221 
224  u32 function,
225  void *handler_context, void **region_context);
226 
229  u8 acpi_ns_locked);
230 
231 /*
232  * evsci - SCI (System Control Interrupt) handling/dispatch
233  */
235 
237 
239 
240 u32 acpi_ev_initialize_SCI(u32 program_SCI);
241 
243 #endif /* __ACEVENTS_H__ */