aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/reset.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-05-02 02:25:25 -0400
committerTakashi Iwai <tiwai@suse.de>2017-05-02 02:25:25 -0400
commita5c3b32a1146e44f6b38fdfdfffc27842953420c (patch)
treeeca93f51c8deabe77ed079a3e9190717b6380009 /include/linux/reset.h
parentd7dc450d5a7162de96edbed6b1792240c2f3a55f (diff)
parent20d5c84bef067b7e804a163e2abca16c47125bad (diff)
Merge tag 'asoc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v4.12 A quiet release for the core, but lots of new drivers this time around: - A new, generalized, API for hooking up jacks which makes it easier to write generic machine drivers for simple cases. - Continuing fixes for issues with the x86 CPU drivers. - New drivers for Cirrus CS35L35, DIO DIO2125, Everest ES7132, HiSilicon hi6210, Maxim MAX98927, MT2701 systems with WM8960, Nuvoton NAU8824, Odroid systems, ST STM32 SAI controllers and x86 systems with DA7213
Diffstat (limited to 'include/linux/reset.h')
-rw-r--r--include/linux/reset.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h
index 86b4ed75359e..13d8681210d5 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -15,6 +15,9 @@ int reset_control_status(struct reset_control *rstc);
15struct reset_control *__of_reset_control_get(struct device_node *node, 15struct reset_control *__of_reset_control_get(struct device_node *node,
16 const char *id, int index, bool shared, 16 const char *id, int index, bool shared,
17 bool optional); 17 bool optional);
18struct reset_control *__reset_control_get(struct device *dev, const char *id,
19 int index, bool shared,
20 bool optional);
18void reset_control_put(struct reset_control *rstc); 21void reset_control_put(struct reset_control *rstc);
19struct reset_control *__devm_reset_control_get(struct device *dev, 22struct reset_control *__devm_reset_control_get(struct device *dev,
20 const char *id, int index, bool shared, 23 const char *id, int index, bool shared,
@@ -31,31 +34,26 @@ static inline int device_reset_optional(struct device *dev)
31 34
32static inline int reset_control_reset(struct reset_control *rstc) 35static inline int reset_control_reset(struct reset_control *rstc)
33{ 36{
34 WARN_ON(1);
35 return 0; 37 return 0;
36} 38}
37 39
38static inline int reset_control_assert(struct reset_control *rstc) 40static inline int reset_control_assert(struct reset_control *rstc)
39{ 41{
40 WARN_ON(1);
41 return 0; 42 return 0;
42} 43}
43 44
44static inline int reset_control_deassert(struct reset_control *rstc) 45static inline int reset_control_deassert(struct reset_control *rstc)
45{ 46{
46 WARN_ON(1);
47 return 0; 47 return 0;
48} 48}
49 49
50static inline int reset_control_status(struct reset_control *rstc) 50static inline int reset_control_status(struct reset_control *rstc)
51{ 51{
52 WARN_ON(1);
53 return 0; 52 return 0;
54} 53}
55 54
56static inline void reset_control_put(struct reset_control *rstc) 55static inline void reset_control_put(struct reset_control *rstc)
57{ 56{
58 WARN_ON(1);
59} 57}
60 58
61static inline int __must_check device_reset(struct device *dev) 59static inline int __must_check device_reset(struct device *dev)
@@ -74,14 +72,21 @@ static inline struct reset_control *__of_reset_control_get(
74 const char *id, int index, bool shared, 72 const char *id, int index, bool shared,
75 bool optional) 73 bool optional)
76{ 74{
77 return ERR_PTR(-ENOTSUPP); 75 return optional ? NULL : ERR_PTR(-ENOTSUPP);
76}
77
78static inline struct reset_control *__reset_control_get(
79 struct device *dev, const char *id,
80 int index, bool shared, bool optional)
81{
82 return optional ? NULL : ERR_PTR(-ENOTSUPP);
78} 83}
79 84
80static inline struct reset_control *__devm_reset_control_get( 85static inline struct reset_control *__devm_reset_control_get(
81 struct device *dev, const char *id, 86 struct device *dev, const char *id,
82 int index, bool shared, bool optional) 87 int index, bool shared, bool optional)
83{ 88{
84 return ERR_PTR(-ENOTSUPP); 89 return optional ? NULL : ERR_PTR(-ENOTSUPP);
85} 90}
86 91
87#endif /* CONFIG_RESET_CONTROLLER */ 92#endif /* CONFIG_RESET_CONTROLLER */
@@ -107,8 +112,7 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
107#ifndef CONFIG_RESET_CONTROLLER 112#ifndef CONFIG_RESET_CONTROLLER
108 WARN_ON(1); 113 WARN_ON(1);
109#endif 114#endif
110 return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, false, 115 return __reset_control_get(dev, id, 0, false, false);
111 false);
112} 116}
113 117
114/** 118/**
@@ -136,22 +140,19 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
136static inline struct reset_control *reset_control_get_shared( 140static inline struct reset_control *reset_control_get_shared(
137 struct device *dev, const char *id) 141 struct device *dev, const char *id)
138{ 142{
139 return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, true, 143 return __reset_control_get(dev, id, 0, true, false);
140 false);
141} 144}
142 145
143static inline struct reset_control *reset_control_get_optional_exclusive( 146static inline struct reset_control *reset_control_get_optional_exclusive(
144 struct device *dev, const char *id) 147 struct device *dev, const char *id)
145{ 148{
146 return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, false, 149 return __reset_control_get(dev, id, 0, false, true);
147 true);
148} 150}
149 151
150static inline struct reset_control *reset_control_get_optional_shared( 152static inline struct reset_control *reset_control_get_optional_shared(
151 struct device *dev, const char *id) 153 struct device *dev, const char *id)
152{ 154{
153 return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, true, 155 return __reset_control_get(dev, id, 0, true, true);
154 true);
155} 156}
156 157
157/** 158/**