@@ -13,10 +13,12 @@ int reset_control_deassert(struct reset_control *rstc);
13
13
int reset_control_status (struct reset_control * rstc );
14
14
15
15
struct 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
18
void reset_control_put (struct reset_control * rstc );
18
19
struct 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 );
20
22
21
23
int __must_check device_reset (struct device * dev );
22
24
@@ -69,14 +71,15 @@ static inline int device_reset_optional(struct device *dev)
69
71
70
72
static inline struct reset_control * __of_reset_control_get (
71
73
struct device_node * node ,
72
- const char * id , int index , bool shared )
74
+ const char * id , int index , bool shared ,
75
+ bool optional )
73
76
{
74
77
return ERR_PTR (- ENOTSUPP );
75
78
}
76
79
77
80
static 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 )
80
83
{
81
84
return ERR_PTR (- ENOTSUPP );
82
85
}
@@ -104,7 +107,8 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
104
107
#ifndef CONFIG_RESET_CONTROLLER
105
108
WARN_ON (1 );
106
109
#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);
108
112
}
109
113
110
114
/**
@@ -132,19 +136,22 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)
132
136
static inline struct reset_control * reset_control_get_shared (
133
137
struct device * dev , const char * id )
134
138
{
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);
136
141
}
137
142
138
143
static inline struct reset_control * reset_control_get_optional_exclusive (
139
144
struct device * dev , const char * id )
140
145
{
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);
142
148
}
143
149
144
150
static inline struct reset_control * reset_control_get_optional_shared (
145
151
struct device * dev , const char * id )
146
152
{
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);
148
155
}
149
156
150
157
/**
@@ -160,7 +167,7 @@ static inline struct reset_control *reset_control_get_optional_shared(
160
167
static inline struct reset_control * of_reset_control_get_exclusive (
161
168
struct device_node * node , const char * id )
162
169
{
163
- return __of_reset_control_get (node , id , 0 , 0 );
170
+ return __of_reset_control_get (node , id , 0 , false, false );
164
171
}
165
172
166
173
/**
@@ -185,7 +192,7 @@ static inline struct reset_control *of_reset_control_get_exclusive(
185
192
static inline struct reset_control * of_reset_control_get_shared (
186
193
struct device_node * node , const char * id )
187
194
{
188
- return __of_reset_control_get (node , id , 0 , true);
195
+ return __of_reset_control_get (node , id , 0 , true, false );
189
196
}
190
197
191
198
/**
@@ -202,7 +209,7 @@ static inline struct reset_control *of_reset_control_get_shared(
202
209
static inline struct reset_control * of_reset_control_get_exclusive_by_index (
203
210
struct device_node * node , int index )
204
211
{
205
- return __of_reset_control_get (node , NULL , index , false);
212
+ return __of_reset_control_get (node , NULL , index , false, false );
206
213
}
207
214
208
215
/**
@@ -230,7 +237,7 @@ static inline struct reset_control *of_reset_control_get_exclusive_by_index(
230
237
static inline struct reset_control * of_reset_control_get_shared_by_index (
231
238
struct device_node * node , int index )
232
239
{
233
- return __of_reset_control_get (node , NULL , index , true);
240
+ return __of_reset_control_get (node , NULL , index , true, false );
234
241
}
235
242
236
243
/**
@@ -252,7 +259,7 @@ __must_check devm_reset_control_get_exclusive(struct device *dev,
252
259
#ifndef CONFIG_RESET_CONTROLLER
253
260
WARN_ON (1 );
254
261
#endif
255
- return __devm_reset_control_get (dev , id , 0 , false);
262
+ return __devm_reset_control_get (dev , id , 0 , false, false );
256
263
}
257
264
258
265
/**
@@ -267,19 +274,19 @@ __must_check devm_reset_control_get_exclusive(struct device *dev,
267
274
static inline struct reset_control * devm_reset_control_get_shared (
268
275
struct device * dev , const char * id )
269
276
{
270
- return __devm_reset_control_get (dev , id , 0 , true);
277
+ return __devm_reset_control_get (dev , id , 0 , true, false );
271
278
}
272
279
273
280
static inline struct reset_control * devm_reset_control_get_optional_exclusive (
274
281
struct device * dev , const char * id )
275
282
{
276
- return __devm_reset_control_get (dev , id , 0 , false);
283
+ return __devm_reset_control_get (dev , id , 0 , false, true );
277
284
}
278
285
279
286
static inline struct reset_control * devm_reset_control_get_optional_shared (
280
287
struct device * dev , const char * id )
281
288
{
282
- return __devm_reset_control_get (dev , id , 0 , true);
289
+ return __devm_reset_control_get (dev , id , 0 , true, true );
283
290
}
284
291
285
292
/**
@@ -297,7 +304,7 @@ static inline struct reset_control *devm_reset_control_get_optional_shared(
297
304
static inline struct reset_control *
298
305
devm_reset_control_get_exclusive_by_index (struct device * dev , int index )
299
306
{
300
- return __devm_reset_control_get (dev , NULL , index , false);
307
+ return __devm_reset_control_get (dev , NULL , index , false, false );
301
308
}
302
309
303
310
/**
@@ -313,7 +320,7 @@ devm_reset_control_get_exclusive_by_index(struct device *dev, int index)
313
320
static inline struct reset_control *
314
321
devm_reset_control_get_shared_by_index (struct device * dev , int index )
315
322
{
316
- return __devm_reset_control_get (dev , NULL , index , true);
323
+ return __devm_reset_control_get (dev , NULL , index , true, false );
317
324
}
318
325
319
326
/*
0 commit comments