]>
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); | |
13 | ||
14 | struct reset_control *reset_control_get(struct device *dev, const char *id); | |
15 | void reset_control_put(struct reset_control *rstc); | |
16 | struct reset_control *devm_reset_control_get(struct device *dev, const char *id); | |
17 | ||
b424080a PZ |
18 | int __must_check device_reset(struct device *dev); |
19 | ||
20 | static inline int device_reset_optional(struct device *dev) | |
21 | { | |
22 | return device_reset(dev); | |
23 | } | |
24 | ||
25 | static inline struct reset_control *reset_control_get_optional( | |
26 | struct device *dev, const char *id) | |
27 | { | |
28 | return reset_control_get(dev, id); | |
29 | } | |
30 | ||
31 | static inline struct reset_control *devm_reset_control_get_optional( | |
32 | struct device *dev, const char *id) | |
33 | { | |
34 | return devm_reset_control_get(dev, id); | |
35 | } | |
36 | ||
e3ec0a8c HG |
37 | struct reset_control *of_reset_control_get(struct device_node *node, |
38 | const char *id); | |
39 | ||
b424080a PZ |
40 | #else |
41 | ||
42 | static inline int reset_control_reset(struct reset_control *rstc) | |
43 | { | |
44 | WARN_ON(1); | |
45 | return 0; | |
46 | } | |
47 | ||
48 | static inline int reset_control_assert(struct reset_control *rstc) | |
49 | { | |
50 | WARN_ON(1); | |
51 | return 0; | |
52 | } | |
53 | ||
54 | static inline int reset_control_deassert(struct reset_control *rstc) | |
55 | { | |
56 | WARN_ON(1); | |
57 | return 0; | |
58 | } | |
59 | ||
60 | static inline void reset_control_put(struct reset_control *rstc) | |
61 | { | |
62 | WARN_ON(1); | |
63 | } | |
64 | ||
65 | static inline int device_reset_optional(struct device *dev) | |
66 | { | |
67 | return -ENOSYS; | |
68 | } | |
69 | ||
70 | static inline struct reset_control *reset_control_get_optional( | |
71 | struct device *dev, const char *id) | |
72 | { | |
73 | return ERR_PTR(-ENOSYS); | |
74 | } | |
75 | ||
76 | static inline struct reset_control *devm_reset_control_get_optional( | |
77 | struct device *dev, const char *id) | |
78 | { | |
79 | return ERR_PTR(-ENOSYS); | |
80 | } | |
81 | ||
e3ec0a8c HG |
82 | static inline struct reset_control *of_reset_control_get( |
83 | struct device_node *node, const char *id) | |
84 | { | |
85 | return ERR_PTR(-ENOSYS); | |
86 | } | |
87 | ||
b424080a | 88 | #endif /* CONFIG_RESET_CONTROLLER */ |
61fc4131 PZ |
89 | |
90 | #endif |