Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / reset.h
1 #ifndef _LINUX_RESET_H_
2 #define _LINUX_RESET_H_
3
4 struct device;
5 struct device_node;
6 struct reset_control;
7
8 #ifdef CONFIG_RESET_CONTROLLER
9
10 int reset_control_reset(struct reset_control *rstc);
11 int reset_control_assert(struct reset_control *rstc);
12 int reset_control_deassert(struct reset_control *rstc);
13 int reset_control_status(struct reset_control *rstc);
14
15 struct reset_control *reset_control_get(struct device *dev, const char *id);
16 void reset_control_put(struct reset_control *rstc);
17 struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
18
19 int __must_check device_reset(struct device *dev);
20
21 static inline int device_reset_optional(struct device *dev)
22 {
23         return device_reset(dev);
24 }
25
26 static inline struct reset_control *reset_control_get_optional(
27                                         struct device *dev, const char *id)
28 {
29         return reset_control_get(dev, id);
30 }
31
32 static inline struct reset_control *devm_reset_control_get_optional(
33                                         struct device *dev, const char *id)
34 {
35         return devm_reset_control_get(dev, id);
36 }
37
38 struct reset_control *of_reset_control_get(struct device_node *node,
39                                            const char *id);
40
41 #else
42
43 static inline int reset_control_reset(struct reset_control *rstc)
44 {
45         WARN_ON(1);
46         return 0;
47 }
48
49 static inline int reset_control_assert(struct reset_control *rstc)
50 {
51         WARN_ON(1);
52         return 0;
53 }
54
55 static inline int reset_control_deassert(struct reset_control *rstc)
56 {
57         WARN_ON(1);
58         return 0;
59 }
60
61 static inline int reset_control_status(struct reset_control *rstc)
62 {
63         WARN_ON(1);
64         return 0;
65 }
66
67 static inline void reset_control_put(struct reset_control *rstc)
68 {
69         WARN_ON(1);
70 }
71
72 static inline int device_reset_optional(struct device *dev)
73 {
74         return -ENOSYS;
75 }
76
77 static inline struct reset_control *reset_control_get_optional(
78                                         struct device *dev, const char *id)
79 {
80         return ERR_PTR(-ENOSYS);
81 }
82
83 static inline struct reset_control *devm_reset_control_get_optional(
84                                         struct device *dev, const char *id)
85 {
86         return ERR_PTR(-ENOSYS);
87 }
88
89 static inline struct reset_control *of_reset_control_get(
90                                 struct device_node *node, const char *id)
91 {
92         return ERR_PTR(-ENOSYS);
93 }
94
95 #endif /* CONFIG_RESET_CONTROLLER */
96
97 #endif