@@ -13,10 +13,12 @@ int reset_control_deassert(struct reset_control *rstc);
1313int reset_control_status (struct reset_control * rstc );
1414
1515struct 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 );
1718void reset_control_put (struct reset_control * rstc );
1819struct reset_control * __devm_reset_control_get (struct device * dev ,
19- const char * id , int index , bool shared );
20+ const char * id , int index , bool shared ,
21+ bool optional );
2022
2123int __must_check device_reset (struct device * dev );
2224
@@ -69,14 +71,15 @@ static inline int device_reset_optional(struct device *dev)
6971
7072static inline struct reset_control * __of_reset_control_get (
7173 struct device_node * node ,
72- const char * id , int index , bool shared )
74+ const char * id , int index , bool shared ,
75+ bool optional )
7376{
7477 return ERR_PTR (- ENOTSUPP );
7578}
7679
7780static inline struct reset_control * __devm_reset_control_get (
78- struct device * dev ,
79- const char * id , int index , bool shared )
81+ struct device * dev , const char * id ,
82+ int index , bool shared , bool optional )
8083{
8184 return ERR_PTR (- ENOTSUPP );
8285}
@@ -104,7 +107,8 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
104107#ifndef CONFIG_RESET_CONTROLLER
105108 WARN_ON (1 );
106109#endif
107- return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , 0 );
110+ return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , false,
111+ false);
108112}
109113
110114/**
@@ -132,19 +136,22 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
132136static inline struct reset_control * reset_control_get_shared (
133137 struct device * dev , const char * id )
134138{
135- return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , true);
139+ return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , true,
140+ false);
136141}
137142
138143static inline struct reset_control * reset_control_get_optional_exclusive (
139144 struct device * dev , const char * id )
140145{
141- return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , false);
146+ return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , false,
147+ true);
142148}
143149
144150static inline struct reset_control * reset_control_get_optional_shared (
145151 struct device * dev , const char * id )
146152{
147- return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , true);
153+ return __of_reset_control_get (dev ? dev -> of_node : NULL , id , 0 , true,
154+ true);
148155}
149156
150157/**
@@ -160,7 +167,7 @@ static inline struct reset_control *reset_control_get_optional_shared(
160167static inline struct reset_control * of_reset_control_get_exclusive (
161168 struct device_node * node , const char * id )
162169{
163- return __of_reset_control_get (node , id , 0 , 0 );
170+ return __of_reset_control_get (node , id , 0 , false, false );
164171}
165172
166173/**
@@ -185,7 +192,7 @@ static inline struct reset_control *of_reset_control_get_exclusive(
185192static inline struct reset_control * of_reset_control_get_shared (
186193 struct device_node * node , const char * id )
187194{
188- return __of_reset_control_get (node , id , 0 , true);
195+ return __of_reset_control_get (node , id , 0 , true, false );
189196}
190197
191198/**
@@ -202,7 +209,7 @@ static inline struct reset_control *of_reset_control_get_shared(
202209static inline struct reset_control * of_reset_control_get_exclusive_by_index (
203210 struct device_node * node , int index )
204211{
205- return __of_reset_control_get (node , NULL , index , false);
212+ return __of_reset_control_get (node , NULL , index , false, false );
206213}
207214
208215/**
@@ -230,7 +237,7 @@ static inline struct reset_control *of_reset_control_get_exclusive_by_index(
230237static inline struct reset_control * of_reset_control_get_shared_by_index (
231238 struct device_node * node , int index )
232239{
233- return __of_reset_control_get (node , NULL , index , true);
240+ return __of_reset_control_get (node , NULL , index , true, false );
234241}
235242
236243/**
@@ -252,7 +259,7 @@ __must_check devm_reset_control_get_exclusive(struct device *dev,
252259#ifndef CONFIG_RESET_CONTROLLER
253260 WARN_ON (1 );
254261#endif
255- return __devm_reset_control_get (dev , id , 0 , false);
262+ return __devm_reset_control_get (dev , id , 0 , false, false );
256263}
257264
258265/**
@@ -267,19 +274,19 @@ __must_check devm_reset_control_get_exclusive(struct device *dev,
267274static inline struct reset_control * devm_reset_control_get_shared (
268275 struct device * dev , const char * id )
269276{
270- return __devm_reset_control_get (dev , id , 0 , true);
277+ return __devm_reset_control_get (dev , id , 0 , true, false );
271278}
272279
273280static inline struct reset_control * devm_reset_control_get_optional_exclusive (
274281 struct device * dev , const char * id )
275282{
276- return __devm_reset_control_get (dev , id , 0 , false);
283+ return __devm_reset_control_get (dev , id , 0 , false, true );
277284}
278285
279286static inline struct reset_control * devm_reset_control_get_optional_shared (
280287 struct device * dev , const char * id )
281288{
282- return __devm_reset_control_get (dev , id , 0 , true);
289+ return __devm_reset_control_get (dev , id , 0 , true, true );
283290}
284291
285292/**
@@ -297,7 +304,7 @@ static inline struct reset_control *devm_reset_control_get_optional_shared(
297304static inline struct reset_control *
298305devm_reset_control_get_exclusive_by_index (struct device * dev , int index )
299306{
300- return __devm_reset_control_get (dev , NULL , index , false);
307+ return __devm_reset_control_get (dev , NULL , index , false, false );
301308}
302309
303310/**
@@ -313,7 +320,7 @@ devm_reset_control_get_exclusive_by_index(struct device *dev, int index)
313320static inline struct reset_control *
314321devm_reset_control_get_shared_by_index (struct device * dev , int index )
315322{
316- return __devm_reset_control_get (dev , NULL , index , true);
323+ return __devm_reset_control_get (dev , NULL , index , true, false );
317324}
318325
319326/*
0 commit comments