ipv4: fib_semantics: increment fib_info_cnt after fib_info allocation
[deliverable/linux.git] / include / linux / reset.h
1 #ifndef _LINUX_RESET_H_
2 #define _LINUX_RESET_H_
3
4 struct device;
5 struct reset_control;
6
7 #ifdef CONFIG_RESET_CONTROLLER
8
9 int reset_control_reset(struct reset_control *rstc);
10 int reset_control_assert(struct reset_control *rstc);
11 int reset_control_deassert(struct reset_control *rstc);
12
13 struct reset_control *reset_control_get(struct device *dev, const char *id);
14 void reset_control_put(struct reset_control *rstc);
15 struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
16
17 int __must_check device_reset(struct device *dev);
18
19 static inline int device_reset_optional(struct device *dev)
20 {
21 return device_reset(dev);
22 }
23
24 static inline struct reset_control *reset_control_get_optional(
25 struct device *dev, const char *id)
26 {
27 return reset_control_get(dev, id);
28 }
29
30 static inline struct reset_control *devm_reset_control_get_optional(
31 struct device *dev, const char *id)
32 {
33 return devm_reset_control_get(dev, id);
34 }
35
36 #else
37
38 static inline int reset_control_reset(struct reset_control *rstc)
39 {
40 WARN_ON(1);
41 return 0;
42 }
43
44 static inline int reset_control_assert(struct reset_control *rstc)
45 {
46 WARN_ON(1);
47 return 0;
48 }
49
50 static inline int reset_control_deassert(struct reset_control *rstc)
51 {
52 WARN_ON(1);
53 return 0;
54 }
55
56 static inline void reset_control_put(struct reset_control *rstc)
57 {
58 WARN_ON(1);
59 }
60
61 static inline int device_reset_optional(struct device *dev)
62 {
63 return -ENOSYS;
64 }
65
66 static inline struct reset_control *reset_control_get_optional(
67 struct device *dev, const char *id)
68 {
69 return ERR_PTR(-ENOSYS);
70 }
71
72 static inline struct reset_control *devm_reset_control_get_optional(
73 struct device *dev, const char *id)
74 {
75 return ERR_PTR(-ENOSYS);
76 }
77
78 #endif /* CONFIG_RESET_CONTROLLER */
79
80 #endif
This page took 0.046811 seconds and 5 git commands to generate.