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
include
linux
pm_clock.h
Go to the documentation of this file.
1
/*
2
* pm_clock.h - Definitions and headers related to device clocks.
3
*
4
* Copyright (C) 2011 Rafael J. Wysocki <
[email protected]
>, Renesas Electronics Corp.
5
*
6
* This file is released under the GPLv2.
7
*/
8
9
#ifndef _LINUX_PM_CLOCK_H
10
#define _LINUX_PM_CLOCK_H
11
12
#include <linux/device.h>
13
#include <
linux/notifier.h
>
14
15
struct
pm_clk_notifier_block
{
16
struct
notifier_block
nb
;
17
struct
dev_pm_domain
*
pm_domain
;
18
char
*
con_ids
[];
19
};
20
21
#ifdef CONFIG_PM_CLK
22
static
inline
bool
pm_clk_no_clocks(
struct
device
*
dev
)
23
{
24
return
dev && dev->
power
.subsys_data
25
&& list_empty(&dev->
power
.subsys_data->clock_list);
26
}
27
28
extern
void
pm_clk_init(
struct
device
*
dev
);
29
extern
int
pm_clk_create(
struct
device
*
dev
);
30
extern
void
pm_clk_destroy(
struct
device
*
dev
);
31
extern
int
pm_clk_add(
struct
device
*
dev
,
const
char
*con_id);
32
extern
void
pm_clk_remove(
struct
device
*
dev
,
const
char
*con_id);
33
extern
int
pm_clk_suspend
(
struct
device
*
dev
);
34
extern
int
pm_clk_resume
(
struct
device
*
dev
);
35
#else
36
static
inline
bool
pm_clk_no_clocks(
struct
device
*
dev
)
37
{
38
return
true
;
39
}
40
static
inline
void
pm_clk_init(
struct
device
*
dev
)
41
{
42
}
43
static
inline
int
pm_clk_create(
struct
device
*
dev
)
44
{
45
return
-
EINVAL
;
46
}
47
static
inline
void
pm_clk_destroy(
struct
device
*
dev
)
48
{
49
}
50
static
inline
int
pm_clk_add(
struct
device
*
dev
,
const
char
*con_id)
51
{
52
return
-
EINVAL
;
53
}
54
static
inline
void
pm_clk_remove(
struct
device
*
dev
,
const
char
*con_id)
55
{
56
}
57
#define pm_clk_suspend NULL
58
#define pm_clk_resume NULL
59
#endif
60
61
#ifdef CONFIG_HAVE_CLK
62
extern
void
pm_clk_add_notifier
(
struct
bus_type
*
bus
,
63
struct
pm_clk_notifier_block
*clknb);
64
#else
65
static
inline
void
pm_clk_add_notifier
(
struct
bus_type
*
bus
,
66
struct
pm_clk_notifier_block
*clknb)
67
{
68
}
69
#endif
70
71
#endif
Generated on Thu Jan 10 2013 14:52:22 for Linux Kernel by
1.8.2