Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
acpi
acpica
achware.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Name: achware.h -- hardware specific interfaces
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 __ACHWARE_H__
45
#define __ACHWARE_H__
46
47
/* Values for the _SST predefined method */
48
49
#define ACPI_SST_INDICATOR_OFF 0
50
#define ACPI_SST_WORKING 1
51
#define ACPI_SST_WAKING 2
52
#define ACPI_SST_SLEEPING 3
53
#define ACPI_SST_SLEEP_CONTEXT 4
54
55
/*
56
* hwacpi - high level functions
57
*/
58
acpi_status
acpi_hw_set_mode
(
u32
mode
);
59
60
u32
acpi_hw_get_mode
(
void
);
61
62
/*
63
* hwregs - ACPI Register I/O
64
*/
65
acpi_status
66
acpi_hw_validate_register
(
struct
acpi_generic_address
*
reg
,
67
u8
max_bit_width,
u64
*
address
);
68
69
acpi_status
acpi_hw_read
(
u32
*
value
,
struct
acpi_generic_address
*
reg
);
70
71
acpi_status
acpi_hw_write
(
u32
value
,
struct
acpi_generic_address
*
reg
);
72
73
struct
acpi_bit_register_info
*
acpi_hw_get_bit_register_info
(
u32
register_id);
74
75
acpi_status
acpi_hw_write_pm1_control
(
u32
pm1a_control,
u32
pm1b_control);
76
77
acpi_status
acpi_hw_register_read
(
u32
register_id,
u32
*
return_value
);
78
79
acpi_status
acpi_hw_register_write
(
u32
register_id,
u32
value
);
80
81
acpi_status
acpi_hw_clear_acpi_status
(
void
);
82
83
/*
84
* hwsleep - sleep/wake support (Legacy sleep registers)
85
*/
86
acpi_status
acpi_hw_legacy_sleep
(
u8
sleep_state);
87
88
acpi_status
acpi_hw_legacy_wake_prep
(
u8
sleep_state);
89
90
acpi_status
acpi_hw_legacy_wake
(
u8
sleep_state);
91
92
/*
93
* hwesleep - sleep/wake support (Extended FADT-V5 sleep registers)
94
*/
95
void
acpi_hw_execute_sleep_method
(
char
*method_name,
u32
integer_argument);
96
97
acpi_status
acpi_hw_extended_sleep
(
u8
sleep_state);
98
99
acpi_status
acpi_hw_extended_wake_prep
(
u8
sleep_state);
100
101
acpi_status
acpi_hw_extended_wake
(
u8
sleep_state);
102
103
/*
104
* hwvalid - Port I/O with validation
105
*/
106
acpi_status
acpi_hw_read_port
(acpi_io_address
address
,
u32
*
value
,
u32
width
);
107
108
acpi_status
acpi_hw_write_port
(acpi_io_address
address
,
u32
value
,
u32
width
);
109
110
/*
111
* hwgpe - GPE support
112
*/
113
u32
acpi_hw_get_gpe_register_bit
(
struct
acpi_gpe_event_info
*
gpe_event_info
);
114
115
acpi_status
116
acpi_hw_low_set_gpe
(
struct
acpi_gpe_event_info
*
gpe_event_info
,
u32
action
);
117
118
acpi_status
119
acpi_hw_disable_gpe_block
(
struct
acpi_gpe_xrupt_info
*gpe_xrupt_info,
120
struct
acpi_gpe_block_info
*gpe_block,
void
*
context
);
121
122
acpi_status
acpi_hw_clear_gpe
(
struct
acpi_gpe_event_info
*
gpe_event_info
);
123
124
acpi_status
125
acpi_hw_clear_gpe_block
(
struct
acpi_gpe_xrupt_info
*gpe_xrupt_info,
126
struct
acpi_gpe_block_info
*gpe_block,
void
*
context
);
127
128
acpi_status
129
acpi_hw_get_gpe_status
(
struct
acpi_gpe_event_info
*
gpe_event_info
,
130
acpi_event_status
*
event_status
);
131
132
acpi_status
acpi_hw_disable_all_gpes
(
void
);
133
134
acpi_status
acpi_hw_enable_all_runtime_gpes
(
void
);
135
136
acpi_status
acpi_hw_enable_all_wakeup_gpes
(
void
);
137
138
acpi_status
139
acpi_hw_enable_runtime_gpe_block
(
struct
acpi_gpe_xrupt_info
*gpe_xrupt_info,
140
struct
acpi_gpe_block_info
*gpe_block,
141
void
*
context
);
142
143
/*
144
* hwpci - PCI configuration support
145
*/
146
acpi_status
147
acpi_hw_derive_pci_id
(
struct
acpi_pci_id
*
pci_id
,
148
acpi_handle
root_pci_device,
acpi_handle
pci_region);
149
150
#endif
/* __ACHWARE_H__ */
Generated on Thu Jan 10 2013 13:23:24 for Linux Kernel by
1.8.2