]>
Commit | Line | Data |
---|---|---|
61fc4131 PZ |
1 | #ifndef _LINUX_RESET_H_ |
2 | #define _LINUX_RESET_H_ | |
3 | ||
4 | struct device; | |
e3ec0a8c | 5 | struct device_node; |
61fc4131 PZ |
6 | struct reset_control; |
7 | ||
b424080a PZ |
8 | #ifdef CONFIG_RESET_CONTROLLER |
9 | ||
61fc4131 PZ |
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); | |
729de41b | 13 | int reset_control_status(struct reset_control *rstc); |
61fc4131 PZ |
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 | ||
b424080a PZ |
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 | ||
e3ec0a8c HG |
38 | struct reset_control *of_reset_control_get(struct device_node *node, |
39 | const char *id); | |
40 | ||
b424080a PZ |
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 | ||
729de41b DN |
61 | static inline int reset_control_status(struct reset_control *rstc) |
62 | { | |
63 | WARN_ON(1); | |
64 | return 0; | |
65 | } | |
66 | ||
b424080a PZ |
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 | ||
e3ec0a8c HG |
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 | ||
b424080a | 95 | #endif /* CONFIG_RESET_CONTROLLER */ |
61fc4131 PZ |
96 | |
97 | #endif |