aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/reset.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/reset.h')
-rw-r--r--include/linux/reset.h65
1 files changed, 64 insertions, 1 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h
index 6082247feab1..c0eda5023d74 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -4,6 +4,8 @@
4struct device; 4struct device;
5struct reset_control; 5struct reset_control;
6 6
7#ifdef CONFIG_RESET_CONTROLLER
8
7int reset_control_reset(struct reset_control *rstc); 9int reset_control_reset(struct reset_control *rstc);
8int reset_control_assert(struct reset_control *rstc); 10int reset_control_assert(struct reset_control *rstc);
9int reset_control_deassert(struct reset_control *rstc); 11int reset_control_deassert(struct reset_control *rstc);
@@ -12,6 +14,67 @@ struct reset_control *reset_control_get(struct device *dev, const char *id);
12void reset_control_put(struct reset_control *rstc); 14void reset_control_put(struct reset_control *rstc);
13struct reset_control *devm_reset_control_get(struct device *dev, const char *id); 15struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
14 16
15int device_reset(struct device *dev); 17int __must_check device_reset(struct device *dev);
18
19static inline int device_reset_optional(struct device *dev)
20{
21 return device_reset(dev);
22}
23
24static 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
30static 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
38static inline int reset_control_reset(struct reset_control *rstc)
39{
40 WARN_ON(1);
41 return 0;
42}
43
44static inline int reset_control_assert(struct reset_control *rstc)
45{
46 WARN_ON(1);
47 return 0;
48}
49
50static inline int reset_control_deassert(struct reset_control *rstc)
51{
52 WARN_ON(1);
53 return 0;
54}
55
56static inline void reset_control_put(struct reset_control *rstc)
57{
58 WARN_ON(1);
59}
60
61static inline int device_reset_optional(struct device *dev)
62{
63 return -ENOSYS;
64}
65
66static inline struct reset_control *reset_control_get_optional(
67 struct device *dev, const char *id)
68{
69 return ERR_PTR(-ENOSYS);
70}
71
72static 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 */
16 79
17#endif 80#endif