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
cpuidle
cpuidle.h
Go to the documentation of this file.
1
/*
2
* cpuidle.h - The internal header file
3
*/
4
5
#ifndef __DRIVER_CPUIDLE_H
6
#define __DRIVER_CPUIDLE_H
7
8
#include <linux/device.h>
9
10
/* For internal use only */
11
extern
struct
cpuidle_governor
*
cpuidle_curr_governor
;
12
extern
struct
list_head
cpuidle_governors
;
13
extern
struct
list_head
cpuidle_detected_devices
;
14
extern
struct
mutex
cpuidle_lock
;
15
extern
spinlock_t
cpuidle_driver_lock
;
16
extern
int
cpuidle_disabled
(
void
);
17
extern
int
cpuidle_enter_state
(
struct
cpuidle_device
*
dev
,
18
struct
cpuidle_driver
*drv,
int
next_state
);
19
20
/* idle loop */
21
extern
void
cpuidle_install_idle_handler
(
void
);
22
extern
void
cpuidle_uninstall_idle_handler
(
void
);
23
24
/* governors */
25
extern
int
cpuidle_switch_governor
(
struct
cpuidle_governor
*gov);
26
27
/* sysfs */
28
extern
int
cpuidle_add_interface
(
struct
device
*
dev
);
29
extern
void
cpuidle_remove_interface
(
struct
device
*
dev
);
30
extern
int
cpuidle_add_state_sysfs
(
struct
cpuidle_device
*
device
);
31
extern
void
cpuidle_remove_state_sysfs
(
struct
cpuidle_device
*
device
);
32
extern
int
cpuidle_add_sysfs
(
struct
device
*
dev
);
33
extern
void
cpuidle_remove_sysfs
(
struct
device
*
dev
);
34
35
#ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED
36
bool
cpuidle_state_is_coupled
(
struct
cpuidle_device
*
dev
,
37
struct
cpuidle_driver
*drv,
int
state
);
38
int
cpuidle_enter_state_coupled
(
struct
cpuidle_device
*
dev
,
39
struct
cpuidle_driver
*drv,
int
next_state
);
40
int
cpuidle_coupled_register_device
(
struct
cpuidle_device
*
dev
);
41
void
cpuidle_coupled_unregister_device
(
struct
cpuidle_device
*
dev
);
42
#else
43
static
inline
bool
cpuidle_state_is_coupled
(
struct
cpuidle_device
*
dev
,
44
struct
cpuidle_driver
*drv,
int
state
)
45
{
46
return
false
;
47
}
48
49
static
inline
int
cpuidle_enter_state_coupled
(
struct
cpuidle_device
*
dev
,
50
struct
cpuidle_driver
*drv,
int
next_state
)
51
{
52
return
-1;
53
}
54
55
static
inline
int
cpuidle_coupled_register_device
(
struct
cpuidle_device
*
dev
)
56
{
57
return
0;
58
}
59
60
static
inline
void
cpuidle_coupled_unregister_device
(
struct
cpuidle_device
*
dev
)
61
{
62
}
63
#endif
64
65
#endif
/* __DRIVER_CPUIDLE_H */
Generated on Thu Jan 10 2013 12:55:04 for Linux Kernel by
1.8.2