1 // SPDX-License-Identifier: GPL-2.0
2 
3 // Generated by scripts/atomic/gen-atomic-long.sh
4 // DO NOT MODIFY THIS FILE DIRECTLY
5 
6 #ifndef _ASM_GENERIC_ATOMIC_LONG_H
7 #define _ASM_GENERIC_ATOMIC_LONG_H
8 
9 #include <asm/types.h>
10 
11 #ifdef CONFIG_64BIT
12 typedef atomic64_t atomic_long_t;
13 #define ATOMIC_LONG_INIT(i)		ATOMIC64_INIT(i)
14 #define atomic_long_cond_read_acquire	atomic64_cond_read_acquire
15 #define atomic_long_cond_read_relaxed	atomic64_cond_read_relaxed
16 #else
17 typedef atomic_t atomic_long_t;
18 #define ATOMIC_LONG_INIT(i)		ATOMIC_INIT(i)
19 #define atomic_long_cond_read_acquire	atomic_cond_read_acquire
20 #define atomic_long_cond_read_relaxed	atomic_cond_read_relaxed
21 #endif
22 
23 #ifdef CONFIG_64BIT
24 
25 static inline long
atomic_long_read(const atomic_long_t * v)26 atomic_long_read(const atomic_long_t *v)
27 {
28 	return atomic64_read(v);
29 }
30 
31 static inline long
atomic_long_read_acquire(const atomic_long_t * v)32 atomic_long_read_acquire(const atomic_long_t *v)
33 {
34 	return atomic64_read_acquire(v);
35 }
36 
37 static inline void
atomic_long_set(atomic_long_t * v,long i)38 atomic_long_set(atomic_long_t *v, long i)
39 {
40 	atomic64_set(v, i);
41 }
42 
43 static inline void
atomic_long_set_release(atomic_long_t * v,long i)44 atomic_long_set_release(atomic_long_t *v, long i)
45 {
46 	atomic64_set_release(v, i);
47 }
48 
49 static inline void
atomic_long_add(long i,atomic_long_t * v)50 atomic_long_add(long i, atomic_long_t *v)
51 {
52 	atomic64_add(i, v);
53 }
54 
55 static inline long
atomic_long_add_return(long i,atomic_long_t * v)56 atomic_long_add_return(long i, atomic_long_t *v)
57 {
58 	return atomic64_add_return(i, v);
59 }
60 
61 static inline long
atomic_long_add_return_acquire(long i,atomic_long_t * v)62 atomic_long_add_return_acquire(long i, atomic_long_t *v)
63 {
64 	return atomic64_add_return_acquire(i, v);
65 }
66 
67 static inline long
atomic_long_add_return_release(long i,atomic_long_t * v)68 atomic_long_add_return_release(long i, atomic_long_t *v)
69 {
70 	return atomic64_add_return_release(i, v);
71 }
72 
73 static inline long
atomic_long_add_return_relaxed(long i,atomic_long_t * v)74 atomic_long_add_return_relaxed(long i, atomic_long_t *v)
75 {
76 	return atomic64_add_return_relaxed(i, v);
77 }
78 
79 static inline long
atomic_long_fetch_add(long i,atomic_long_t * v)80 atomic_long_fetch_add(long i, atomic_long_t *v)
81 {
82 	return atomic64_fetch_add(i, v);
83 }
84 
85 static inline long
atomic_long_fetch_add_acquire(long i,atomic_long_t * v)86 atomic_long_fetch_add_acquire(long i, atomic_long_t *v)
87 {
88 	return atomic64_fetch_add_acquire(i, v);
89 }
90 
91 static inline long
atomic_long_fetch_add_release(long i,atomic_long_t * v)92 atomic_long_fetch_add_release(long i, atomic_long_t *v)
93 {
94 	return atomic64_fetch_add_release(i, v);
95 }
96 
97 static inline long
atomic_long_fetch_add_relaxed(long i,atomic_long_t * v)98 atomic_long_fetch_add_relaxed(long i, atomic_long_t *v)
99 {
100 	return atomic64_fetch_add_relaxed(i, v);
101 }
102 
103 static inline void
atomic_long_sub(long i,atomic_long_t * v)104 atomic_long_sub(long i, atomic_long_t *v)
105 {
106 	atomic64_sub(i, v);
107 }
108 
109 static inline long
atomic_long_sub_return(long i,atomic_long_t * v)110 atomic_long_sub_return(long i, atomic_long_t *v)
111 {
112 	return atomic64_sub_return(i, v);
113 }
114 
115 static inline long
atomic_long_sub_return_acquire(long i,atomic_long_t * v)116 atomic_long_sub_return_acquire(long i, atomic_long_t *v)
117 {
118 	return atomic64_sub_return_acquire(i, v);
119 }
120 
121 static inline long
atomic_long_sub_return_release(long i,atomic_long_t * v)122 atomic_long_sub_return_release(long i, atomic_long_t *v)
123 {
124 	return atomic64_sub_return_release(i, v);
125 }
126 
127 static inline long
atomic_long_sub_return_relaxed(long i,atomic_long_t * v)128 atomic_long_sub_return_relaxed(long i, atomic_long_t *v)
129 {
130 	return atomic64_sub_return_relaxed(i, v);
131 }
132 
133 static inline long
atomic_long_fetch_sub(long i,atomic_long_t * v)134 atomic_long_fetch_sub(long i, atomic_long_t *v)
135 {
136 	return atomic64_fetch_sub(i, v);
137 }
138 
139 static inline long
atomic_long_fetch_sub_acquire(long i,atomic_long_t * v)140 atomic_long_fetch_sub_acquire(long i, atomic_long_t *v)
141 {
142 	return atomic64_fetch_sub_acquire(i, v);
143 }
144 
145 static inline long
atomic_long_fetch_sub_release(long i,atomic_long_t * v)146 atomic_long_fetch_sub_release(long i, atomic_long_t *v)
147 {
148 	return atomic64_fetch_sub_release(i, v);
149 }
150 
151 static inline long
atomic_long_fetch_sub_relaxed(long i,atomic_long_t * v)152 atomic_long_fetch_sub_relaxed(long i, atomic_long_t *v)
153 {
154 	return atomic64_fetch_sub_relaxed(i, v);
155 }
156 
157 static inline void
atomic_long_inc(atomic_long_t * v)158 atomic_long_inc(atomic_long_t *v)
159 {
160 	atomic64_inc(v);
161 }
162 
163 static inline long
atomic_long_inc_return(atomic_long_t * v)164 atomic_long_inc_return(atomic_long_t *v)
165 {
166 	return atomic64_inc_return(v);
167 }
168 
169 static inline long
atomic_long_inc_return_acquire(atomic_long_t * v)170 atomic_long_inc_return_acquire(atomic_long_t *v)
171 {
172 	return atomic64_inc_return_acquire(v);
173 }
174 
175 static inline long
atomic_long_inc_return_release(atomic_long_t * v)176 atomic_long_inc_return_release(atomic_long_t *v)
177 {
178 	return atomic64_inc_return_release(v);
179 }
180 
181 static inline long
atomic_long_inc_return_relaxed(atomic_long_t * v)182 atomic_long_inc_return_relaxed(atomic_long_t *v)
183 {
184 	return atomic64_inc_return_relaxed(v);
185 }
186 
187 static inline long
atomic_long_fetch_inc(atomic_long_t * v)188 atomic_long_fetch_inc(atomic_long_t *v)
189 {
190 	return atomic64_fetch_inc(v);
191 }
192 
193 static inline long
atomic_long_fetch_inc_acquire(atomic_long_t * v)194 atomic_long_fetch_inc_acquire(atomic_long_t *v)
195 {
196 	return atomic64_fetch_inc_acquire(v);
197 }
198 
199 static inline long
atomic_long_fetch_inc_release(atomic_long_t * v)200 atomic_long_fetch_inc_release(atomic_long_t *v)
201 {
202 	return atomic64_fetch_inc_release(v);
203 }
204 
205 static inline long
atomic_long_fetch_inc_relaxed(atomic_long_t * v)206 atomic_long_fetch_inc_relaxed(atomic_long_t *v)
207 {
208 	return atomic64_fetch_inc_relaxed(v);
209 }
210 
211 static inline void
atomic_long_dec(atomic_long_t * v)212 atomic_long_dec(atomic_long_t *v)
213 {
214 	atomic64_dec(v);
215 }
216 
217 static inline long
atomic_long_dec_return(atomic_long_t * v)218 atomic_long_dec_return(atomic_long_t *v)
219 {
220 	return atomic64_dec_return(v);
221 }
222 
223 static inline long
atomic_long_dec_return_acquire(atomic_long_t * v)224 atomic_long_dec_return_acquire(atomic_long_t *v)
225 {
226 	return atomic64_dec_return_acquire(v);
227 }
228 
229 static inline long
atomic_long_dec_return_release(atomic_long_t * v)230 atomic_long_dec_return_release(atomic_long_t *v)
231 {
232 	return atomic64_dec_return_release(v);
233 }
234 
235 static inline long
atomic_long_dec_return_relaxed(atomic_long_t * v)236 atomic_long_dec_return_relaxed(atomic_long_t *v)
237 {
238 	return atomic64_dec_return_relaxed(v);
239 }
240 
241 static inline long
atomic_long_fetch_dec(atomic_long_t * v)242 atomic_long_fetch_dec(atomic_long_t *v)
243 {
244 	return atomic64_fetch_dec(v);
245 }
246 
247 static inline long
atomic_long_fetch_dec_acquire(atomic_long_t * v)248 atomic_long_fetch_dec_acquire(atomic_long_t *v)
249 {
250 	return atomic64_fetch_dec_acquire(v);
251 }
252 
253 static inline long
atomic_long_fetch_dec_release(atomic_long_t * v)254 atomic_long_fetch_dec_release(atomic_long_t *v)
255 {
256 	return atomic64_fetch_dec_release(v);
257 }
258 
259 static inline long
atomic_long_fetch_dec_relaxed(atomic_long_t * v)260 atomic_long_fetch_dec_relaxed(atomic_long_t *v)
261 {
262 	return atomic64_fetch_dec_relaxed(v);
263 }
264 
265 static inline void
atomic_long_and(long i,atomic_long_t * v)266 atomic_long_and(long i, atomic_long_t *v)
267 {
268 	atomic64_and(i, v);
269 }
270 
271 static inline long
atomic_long_fetch_and(long i,atomic_long_t * v)272 atomic_long_fetch_and(long i, atomic_long_t *v)
273 {
274 	return atomic64_fetch_and(i, v);
275 }
276 
277 static inline long
atomic_long_fetch_and_acquire(long i,atomic_long_t * v)278 atomic_long_fetch_and_acquire(long i, atomic_long_t *v)
279 {
280 	return atomic64_fetch_and_acquire(i, v);
281 }
282 
283 static inline long
atomic_long_fetch_and_release(long i,atomic_long_t * v)284 atomic_long_fetch_and_release(long i, atomic_long_t *v)
285 {
286 	return atomic64_fetch_and_release(i, v);
287 }
288 
289 static inline long
atomic_long_fetch_and_relaxed(long i,atomic_long_t * v)290 atomic_long_fetch_and_relaxed(long i, atomic_long_t *v)
291 {
292 	return atomic64_fetch_and_relaxed(i, v);
293 }
294 
295 static inline void
atomic_long_andnot(long i,atomic_long_t * v)296 atomic_long_andnot(long i, atomic_long_t *v)
297 {
298 	atomic64_andnot(i, v);
299 }
300 
301 static inline long
atomic_long_fetch_andnot(long i,atomic_long_t * v)302 atomic_long_fetch_andnot(long i, atomic_long_t *v)
303 {
304 	return atomic64_fetch_andnot(i, v);
305 }
306 
307 static inline long
atomic_long_fetch_andnot_acquire(long i,atomic_long_t * v)308 atomic_long_fetch_andnot_acquire(long i, atomic_long_t *v)
309 {
310 	return atomic64_fetch_andnot_acquire(i, v);
311 }
312 
313 static inline long
atomic_long_fetch_andnot_release(long i,atomic_long_t * v)314 atomic_long_fetch_andnot_release(long i, atomic_long_t *v)
315 {
316 	return atomic64_fetch_andnot_release(i, v);
317 }
318 
319 static inline long
atomic_long_fetch_andnot_relaxed(long i,atomic_long_t * v)320 atomic_long_fetch_andnot_relaxed(long i, atomic_long_t *v)
321 {
322 	return atomic64_fetch_andnot_relaxed(i, v);
323 }
324 
325 static inline void
atomic_long_or(long i,atomic_long_t * v)326 atomic_long_or(long i, atomic_long_t *v)
327 {
328 	atomic64_or(i, v);
329 }
330 
331 static inline long
atomic_long_fetch_or(long i,atomic_long_t * v)332 atomic_long_fetch_or(long i, atomic_long_t *v)
333 {
334 	return atomic64_fetch_or(i, v);
335 }
336 
337 static inline long
atomic_long_fetch_or_acquire(long i,atomic_long_t * v)338 atomic_long_fetch_or_acquire(long i, atomic_long_t *v)
339 {
340 	return atomic64_fetch_or_acquire(i, v);
341 }
342 
343 static inline long
atomic_long_fetch_or_release(long i,atomic_long_t * v)344 atomic_long_fetch_or_release(long i, atomic_long_t *v)
345 {
346 	return atomic64_fetch_or_release(i, v);
347 }
348 
349 static inline long
atomic_long_fetch_or_relaxed(long i,atomic_long_t * v)350 atomic_long_fetch_or_relaxed(long i, atomic_long_t *v)
351 {
352 	return atomic64_fetch_or_relaxed(i, v);
353 }
354 
355 static inline void
atomic_long_xor(long i,atomic_long_t * v)356 atomic_long_xor(long i, atomic_long_t *v)
357 {
358 	atomic64_xor(i, v);
359 }
360 
361 static inline long
atomic_long_fetch_xor(long i,atomic_long_t * v)362 atomic_long_fetch_xor(long i, atomic_long_t *v)
363 {
364 	return atomic64_fetch_xor(i, v);
365 }
366 
367 static inline long
atomic_long_fetch_xor_acquire(long i,atomic_long_t * v)368 atomic_long_fetch_xor_acquire(long i, atomic_long_t *v)
369 {
370 	return atomic64_fetch_xor_acquire(i, v);
371 }
372 
373 static inline long
atomic_long_fetch_xor_release(long i,atomic_long_t * v)374 atomic_long_fetch_xor_release(long i, atomic_long_t *v)
375 {
376 	return atomic64_fetch_xor_release(i, v);
377 }
378 
379 static inline long
atomic_long_fetch_xor_relaxed(long i,atomic_long_t * v)380 atomic_long_fetch_xor_relaxed(long i, atomic_long_t *v)
381 {
382 	return atomic64_fetch_xor_relaxed(i, v);
383 }
384 
385 static inline long
atomic_long_xchg(atomic_long_t * v,long i)386 atomic_long_xchg(atomic_long_t *v, long i)
387 {
388 	return atomic64_xchg(v, i);
389 }
390 
391 static inline long
atomic_long_xchg_acquire(atomic_long_t * v,long i)392 atomic_long_xchg_acquire(atomic_long_t *v, long i)
393 {
394 	return atomic64_xchg_acquire(v, i);
395 }
396 
397 static inline long
atomic_long_xchg_release(atomic_long_t * v,long i)398 atomic_long_xchg_release(atomic_long_t *v, long i)
399 {
400 	return atomic64_xchg_release(v, i);
401 }
402 
403 static inline long
atomic_long_xchg_relaxed(atomic_long_t * v,long i)404 atomic_long_xchg_relaxed(atomic_long_t *v, long i)
405 {
406 	return atomic64_xchg_relaxed(v, i);
407 }
408 
409 static inline long
atomic_long_cmpxchg(atomic_long_t * v,long old,long new)410 atomic_long_cmpxchg(atomic_long_t *v, long old, long new)
411 {
412 	return atomic64_cmpxchg(v, old, new);
413 }
414 
415 static inline long
atomic_long_cmpxchg_acquire(atomic_long_t * v,long old,long new)416 atomic_long_cmpxchg_acquire(atomic_long_t *v, long old, long new)
417 {
418 	return atomic64_cmpxchg_acquire(v, old, new);
419 }
420 
421 static inline long
atomic_long_cmpxchg_release(atomic_long_t * v,long old,long new)422 atomic_long_cmpxchg_release(atomic_long_t *v, long old, long new)
423 {
424 	return atomic64_cmpxchg_release(v, old, new);
425 }
426 
427 static inline long
atomic_long_cmpxchg_relaxed(atomic_long_t * v,long old,long new)428 atomic_long_cmpxchg_relaxed(atomic_long_t *v, long old, long new)
429 {
430 	return atomic64_cmpxchg_relaxed(v, old, new);
431 }
432 
433 static inline bool
atomic_long_try_cmpxchg(atomic_long_t * v,long * old,long new)434 atomic_long_try_cmpxchg(atomic_long_t *v, long *old, long new)
435 {
436 	return atomic64_try_cmpxchg(v, (s64 *)old, new);
437 }
438 
439 static inline bool
atomic_long_try_cmpxchg_acquire(atomic_long_t * v,long * old,long new)440 atomic_long_try_cmpxchg_acquire(atomic_long_t *v, long *old, long new)
441 {
442 	return atomic64_try_cmpxchg_acquire(v, (s64 *)old, new);
443 }
444 
445 static inline bool
atomic_long_try_cmpxchg_release(atomic_long_t * v,long * old,long new)446 atomic_long_try_cmpxchg_release(atomic_long_t *v, long *old, long new)
447 {
448 	return atomic64_try_cmpxchg_release(v, (s64 *)old, new);
449 }
450 
451 static inline bool
atomic_long_try_cmpxchg_relaxed(atomic_long_t * v,long * old,long new)452 atomic_long_try_cmpxchg_relaxed(atomic_long_t *v, long *old, long new)
453 {
454 	return atomic64_try_cmpxchg_relaxed(v, (s64 *)old, new);
455 }
456 
457 static inline bool
atomic_long_sub_and_test(long i,atomic_long_t * v)458 atomic_long_sub_and_test(long i, atomic_long_t *v)
459 {
460 	return atomic64_sub_and_test(i, v);
461 }
462 
463 static inline bool
atomic_long_dec_and_test(atomic_long_t * v)464 atomic_long_dec_and_test(atomic_long_t *v)
465 {
466 	return atomic64_dec_and_test(v);
467 }
468 
469 static inline bool
atomic_long_inc_and_test(atomic_long_t * v)470 atomic_long_inc_and_test(atomic_long_t *v)
471 {
472 	return atomic64_inc_and_test(v);
473 }
474 
475 static inline bool
atomic_long_add_negative(long i,atomic_long_t * v)476 atomic_long_add_negative(long i, atomic_long_t *v)
477 {
478 	return atomic64_add_negative(i, v);
479 }
480 
481 static inline long
atomic_long_fetch_add_unless(atomic_long_t * v,long a,long u)482 atomic_long_fetch_add_unless(atomic_long_t *v, long a, long u)
483 {
484 	return atomic64_fetch_add_unless(v, a, u);
485 }
486 
487 static inline bool
atomic_long_add_unless(atomic_long_t * v,long a,long u)488 atomic_long_add_unless(atomic_long_t *v, long a, long u)
489 {
490 	return atomic64_add_unless(v, a, u);
491 }
492 
493 static inline bool
atomic_long_inc_not_zero(atomic_long_t * v)494 atomic_long_inc_not_zero(atomic_long_t *v)
495 {
496 	return atomic64_inc_not_zero(v);
497 }
498 
499 static inline bool
atomic_long_inc_unless_negative(atomic_long_t * v)500 atomic_long_inc_unless_negative(atomic_long_t *v)
501 {
502 	return atomic64_inc_unless_negative(v);
503 }
504 
505 static inline bool
atomic_long_dec_unless_positive(atomic_long_t * v)506 atomic_long_dec_unless_positive(atomic_long_t *v)
507 {
508 	return atomic64_dec_unless_positive(v);
509 }
510 
511 static inline long
atomic_long_dec_if_positive(atomic_long_t * v)512 atomic_long_dec_if_positive(atomic_long_t *v)
513 {
514 	return atomic64_dec_if_positive(v);
515 }
516 
517 #else /* CONFIG_64BIT */
518 
519 static inline long
atomic_long_read(const atomic_long_t * v)520 atomic_long_read(const atomic_long_t *v)
521 {
522 	return atomic_read(v);
523 }
524 
525 static inline long
atomic_long_read_acquire(const atomic_long_t * v)526 atomic_long_read_acquire(const atomic_long_t *v)
527 {
528 	return atomic_read_acquire(v);
529 }
530 
531 static inline void
atomic_long_set(atomic_long_t * v,long i)532 atomic_long_set(atomic_long_t *v, long i)
533 {
534 	atomic_set(v, i);
535 }
536 
537 static inline void
atomic_long_set_release(atomic_long_t * v,long i)538 atomic_long_set_release(atomic_long_t *v, long i)
539 {
540 	atomic_set_release(v, i);
541 }
542 
543 static inline void
atomic_long_add(long i,atomic_long_t * v)544 atomic_long_add(long i, atomic_long_t *v)
545 {
546 	atomic_add(i, v);
547 }
548 
549 static inline long
atomic_long_add_return(long i,atomic_long_t * v)550 atomic_long_add_return(long i, atomic_long_t *v)
551 {
552 	return atomic_add_return(i, v);
553 }
554 
555 static inline long
atomic_long_add_return_acquire(long i,atomic_long_t * v)556 atomic_long_add_return_acquire(long i, atomic_long_t *v)
557 {
558 	return atomic_add_return_acquire(i, v);
559 }
560 
561 static inline long
atomic_long_add_return_release(long i,atomic_long_t * v)562 atomic_long_add_return_release(long i, atomic_long_t *v)
563 {
564 	return atomic_add_return_release(i, v);
565 }
566 
567 static inline long
atomic_long_add_return_relaxed(long i,atomic_long_t * v)568 atomic_long_add_return_relaxed(long i, atomic_long_t *v)
569 {
570 	return atomic_add_return_relaxed(i, v);
571 }
572 
573 static inline long
atomic_long_fetch_add(long i,atomic_long_t * v)574 atomic_long_fetch_add(long i, atomic_long_t *v)
575 {
576 	return atomic_fetch_add(i, v);
577 }
578 
579 static inline long
atomic_long_fetch_add_acquire(long i,atomic_long_t * v)580 atomic_long_fetch_add_acquire(long i, atomic_long_t *v)
581 {
582 	return atomic_fetch_add_acquire(i, v);
583 }
584 
585 static inline long
atomic_long_fetch_add_release(long i,atomic_long_t * v)586 atomic_long_fetch_add_release(long i, atomic_long_t *v)
587 {
588 	return atomic_fetch_add_release(i, v);
589 }
590 
591 static inline long
atomic_long_fetch_add_relaxed(long i,atomic_long_t * v)592 atomic_long_fetch_add_relaxed(long i, atomic_long_t *v)
593 {
594 	return atomic_fetch_add_relaxed(i, v);
595 }
596 
597 static inline void
atomic_long_sub(long i,atomic_long_t * v)598 atomic_long_sub(long i, atomic_long_t *v)
599 {
600 	atomic_sub(i, v);
601 }
602 
603 static inline long
atomic_long_sub_return(long i,atomic_long_t * v)604 atomic_long_sub_return(long i, atomic_long_t *v)
605 {
606 	return atomic_sub_return(i, v);
607 }
608 
609 static inline long
atomic_long_sub_return_acquire(long i,atomic_long_t * v)610 atomic_long_sub_return_acquire(long i, atomic_long_t *v)
611 {
612 	return atomic_sub_return_acquire(i, v);
613 }
614 
615 static inline long
atomic_long_sub_return_release(long i,atomic_long_t * v)616 atomic_long_sub_return_release(long i, atomic_long_t *v)
617 {
618 	return atomic_sub_return_release(i, v);
619 }
620 
621 static inline long
atomic_long_sub_return_relaxed(long i,atomic_long_t * v)622 atomic_long_sub_return_relaxed(long i, atomic_long_t *v)
623 {
624 	return atomic_sub_return_relaxed(i, v);
625 }
626 
627 static inline long
atomic_long_fetch_sub(long i,atomic_long_t * v)628 atomic_long_fetch_sub(long i, atomic_long_t *v)
629 {
630 	return atomic_fetch_sub(i, v);
631 }
632 
633 static inline long
atomic_long_fetch_sub_acquire(long i,atomic_long_t * v)634 atomic_long_fetch_sub_acquire(long i, atomic_long_t *v)
635 {
636 	return atomic_fetch_sub_acquire(i, v);
637 }
638 
639 static inline long
atomic_long_fetch_sub_release(long i,atomic_long_t * v)640 atomic_long_fetch_sub_release(long i, atomic_long_t *v)
641 {
642 	return atomic_fetch_sub_release(i, v);
643 }
644 
645 static inline long
atomic_long_fetch_sub_relaxed(long i,atomic_long_t * v)646 atomic_long_fetch_sub_relaxed(long i, atomic_long_t *v)
647 {
648 	return atomic_fetch_sub_relaxed(i, v);
649 }
650 
651 static inline void
atomic_long_inc(atomic_long_t * v)652 atomic_long_inc(atomic_long_t *v)
653 {
654 	atomic_inc(v);
655 }
656 
657 static inline long
atomic_long_inc_return(atomic_long_t * v)658 atomic_long_inc_return(atomic_long_t *v)
659 {
660 	return atomic_inc_return(v);
661 }
662 
663 static inline long
atomic_long_inc_return_acquire(atomic_long_t * v)664 atomic_long_inc_return_acquire(atomic_long_t *v)
665 {
666 	return atomic_inc_return_acquire(v);
667 }
668 
669 static inline long
atomic_long_inc_return_release(atomic_long_t * v)670 atomic_long_inc_return_release(atomic_long_t *v)
671 {
672 	return atomic_inc_return_release(v);
673 }
674 
675 static inline long
atomic_long_inc_return_relaxed(atomic_long_t * v)676 atomic_long_inc_return_relaxed(atomic_long_t *v)
677 {
678 	return atomic_inc_return_relaxed(v);
679 }
680 
681 static inline long
atomic_long_fetch_inc(atomic_long_t * v)682 atomic_long_fetch_inc(atomic_long_t *v)
683 {
684 	return atomic_fetch_inc(v);
685 }
686 
687 static inline long
atomic_long_fetch_inc_acquire(atomic_long_t * v)688 atomic_long_fetch_inc_acquire(atomic_long_t *v)
689 {
690 	return atomic_fetch_inc_acquire(v);
691 }
692 
693 static inline long
atomic_long_fetch_inc_release(atomic_long_t * v)694 atomic_long_fetch_inc_release(atomic_long_t *v)
695 {
696 	return atomic_fetch_inc_release(v);
697 }
698 
699 static inline long
atomic_long_fetch_inc_relaxed(atomic_long_t * v)700 atomic_long_fetch_inc_relaxed(atomic_long_t *v)
701 {
702 	return atomic_fetch_inc_relaxed(v);
703 }
704 
705 static inline void
atomic_long_dec(atomic_long_t * v)706 atomic_long_dec(atomic_long_t *v)
707 {
708 	atomic_dec(v);
709 }
710 
711 static inline long
atomic_long_dec_return(atomic_long_t * v)712 atomic_long_dec_return(atomic_long_t *v)
713 {
714 	return atomic_dec_return(v);
715 }
716 
717 static inline long
atomic_long_dec_return_acquire(atomic_long_t * v)718 atomic_long_dec_return_acquire(atomic_long_t *v)
719 {
720 	return atomic_dec_return_acquire(v);
721 }
722 
723 static inline long
atomic_long_dec_return_release(atomic_long_t * v)724 atomic_long_dec_return_release(atomic_long_t *v)
725 {
726 	return atomic_dec_return_release(v);
727 }
728 
729 static inline long
atomic_long_dec_return_relaxed(atomic_long_t * v)730 atomic_long_dec_return_relaxed(atomic_long_t *v)
731 {
732 	return atomic_dec_return_relaxed(v);
733 }
734 
735 static inline long
atomic_long_fetch_dec(atomic_long_t * v)736 atomic_long_fetch_dec(atomic_long_t *v)
737 {
738 	return atomic_fetch_dec(v);
739 }
740 
741 static inline long
atomic_long_fetch_dec_acquire(atomic_long_t * v)742 atomic_long_fetch_dec_acquire(atomic_long_t *v)
743 {
744 	return atomic_fetch_dec_acquire(v);
745 }
746 
747 static inline long
atomic_long_fetch_dec_release(atomic_long_t * v)748 atomic_long_fetch_dec_release(atomic_long_t *v)
749 {
750 	return atomic_fetch_dec_release(v);
751 }
752 
753 static inline long
atomic_long_fetch_dec_relaxed(atomic_long_t * v)754 atomic_long_fetch_dec_relaxed(atomic_long_t *v)
755 {
756 	return atomic_fetch_dec_relaxed(v);
757 }
758 
759 static inline void
atomic_long_and(long i,atomic_long_t * v)760 atomic_long_and(long i, atomic_long_t *v)
761 {
762 	atomic_and(i, v);
763 }
764 
765 static inline long
atomic_long_fetch_and(long i,atomic_long_t * v)766 atomic_long_fetch_and(long i, atomic_long_t *v)
767 {
768 	return atomic_fetch_and(i, v);
769 }
770 
771 static inline long
atomic_long_fetch_and_acquire(long i,atomic_long_t * v)772 atomic_long_fetch_and_acquire(long i, atomic_long_t *v)
773 {
774 	return atomic_fetch_and_acquire(i, v);
775 }
776 
777 static inline long
atomic_long_fetch_and_release(long i,atomic_long_t * v)778 atomic_long_fetch_and_release(long i, atomic_long_t *v)
779 {
780 	return atomic_fetch_and_release(i, v);
781 }
782 
783 static inline long
atomic_long_fetch_and_relaxed(long i,atomic_long_t * v)784 atomic_long_fetch_and_relaxed(long i, atomic_long_t *v)
785 {
786 	return atomic_fetch_and_relaxed(i, v);
787 }
788 
789 static inline void
atomic_long_andnot(long i,atomic_long_t * v)790 atomic_long_andnot(long i, atomic_long_t *v)
791 {
792 	atomic_andnot(i, v);
793 }
794 
795 static inline long
atomic_long_fetch_andnot(long i,atomic_long_t * v)796 atomic_long_fetch_andnot(long i, atomic_long_t *v)
797 {
798 	return atomic_fetch_andnot(i, v);
799 }
800 
801 static inline long
atomic_long_fetch_andnot_acquire(long i,atomic_long_t * v)802 atomic_long_fetch_andnot_acquire(long i, atomic_long_t *v)
803 {
804 	return atomic_fetch_andnot_acquire(i, v);
805 }
806 
807 static inline long
atomic_long_fetch_andnot_release(long i,atomic_long_t * v)808 atomic_long_fetch_andnot_release(long i, atomic_long_t *v)
809 {
810 	return atomic_fetch_andnot_release(i, v);
811 }
812 
813 static inline long
atomic_long_fetch_andnot_relaxed(long i,atomic_long_t * v)814 atomic_long_fetch_andnot_relaxed(long i, atomic_long_t *v)
815 {
816 	return atomic_fetch_andnot_relaxed(i, v);
817 }
818 
819 static inline void
atomic_long_or(long i,atomic_long_t * v)820 atomic_long_or(long i, atomic_long_t *v)
821 {
822 	atomic_or(i, v);
823 }
824 
825 static inline long
atomic_long_fetch_or(long i,atomic_long_t * v)826 atomic_long_fetch_or(long i, atomic_long_t *v)
827 {
828 	return atomic_fetch_or(i, v);
829 }
830 
831 static inline long
atomic_long_fetch_or_acquire(long i,atomic_long_t * v)832 atomic_long_fetch_or_acquire(long i, atomic_long_t *v)
833 {
834 	return atomic_fetch_or_acquire(i, v);
835 }
836 
837 static inline long
atomic_long_fetch_or_release(long i,atomic_long_t * v)838 atomic_long_fetch_or_release(long i, atomic_long_t *v)
839 {
840 	return atomic_fetch_or_release(i, v);
841 }
842 
843 static inline long
atomic_long_fetch_or_relaxed(long i,atomic_long_t * v)844 atomic_long_fetch_or_relaxed(long i, atomic_long_t *v)
845 {
846 	return atomic_fetch_or_relaxed(i, v);
847 }
848 
849 static inline void
atomic_long_xor(long i,atomic_long_t * v)850 atomic_long_xor(long i, atomic_long_t *v)
851 {
852 	atomic_xor(i, v);
853 }
854 
855 static inline long
atomic_long_fetch_xor(long i,atomic_long_t * v)856 atomic_long_fetch_xor(long i, atomic_long_t *v)
857 {
858 	return atomic_fetch_xor(i, v);
859 }
860 
861 static inline long
atomic_long_fetch_xor_acquire(long i,atomic_long_t * v)862 atomic_long_fetch_xor_acquire(long i, atomic_long_t *v)
863 {
864 	return atomic_fetch_xor_acquire(i, v);
865 }
866 
867 static inline long
atomic_long_fetch_xor_release(long i,atomic_long_t * v)868 atomic_long_fetch_xor_release(long i, atomic_long_t *v)
869 {
870 	return atomic_fetch_xor_release(i, v);
871 }
872 
873 static inline long
atomic_long_fetch_xor_relaxed(long i,atomic_long_t * v)874 atomic_long_fetch_xor_relaxed(long i, atomic_long_t *v)
875 {
876 	return atomic_fetch_xor_relaxed(i, v);
877 }
878 
879 static inline long
atomic_long_xchg(atomic_long_t * v,long i)880 atomic_long_xchg(atomic_long_t *v, long i)
881 {
882 	return atomic_xchg(v, i);
883 }
884 
885 static inline long
atomic_long_xchg_acquire(atomic_long_t * v,long i)886 atomic_long_xchg_acquire(atomic_long_t *v, long i)
887 {
888 	return atomic_xchg_acquire(v, i);
889 }
890 
891 static inline long
atomic_long_xchg_release(atomic_long_t * v,long i)892 atomic_long_xchg_release(atomic_long_t *v, long i)
893 {
894 	return atomic_xchg_release(v, i);
895 }
896 
897 static inline long
atomic_long_xchg_relaxed(atomic_long_t * v,long i)898 atomic_long_xchg_relaxed(atomic_long_t *v, long i)
899 {
900 	return atomic_xchg_relaxed(v, i);
901 }
902 
903 static inline long
atomic_long_cmpxchg(atomic_long_t * v,long old,long new)904 atomic_long_cmpxchg(atomic_long_t *v, long old, long new)
905 {
906 	return atomic_cmpxchg(v, old, new);
907 }
908 
909 static inline long
atomic_long_cmpxchg_acquire(atomic_long_t * v,long old,long new)910 atomic_long_cmpxchg_acquire(atomic_long_t *v, long old, long new)
911 {
912 	return atomic_cmpxchg_acquire(v, old, new);
913 }
914 
915 static inline long
atomic_long_cmpxchg_release(atomic_long_t * v,long old,long new)916 atomic_long_cmpxchg_release(atomic_long_t *v, long old, long new)
917 {
918 	return atomic_cmpxchg_release(v, old, new);
919 }
920 
921 static inline long
atomic_long_cmpxchg_relaxed(atomic_long_t * v,long old,long new)922 atomic_long_cmpxchg_relaxed(atomic_long_t *v, long old, long new)
923 {
924 	return atomic_cmpxchg_relaxed(v, old, new);
925 }
926 
927 static inline bool
atomic_long_try_cmpxchg(atomic_long_t * v,long * old,long new)928 atomic_long_try_cmpxchg(atomic_long_t *v, long *old, long new)
929 {
930 	return atomic_try_cmpxchg(v, (int *)old, new);
931 }
932 
933 static inline bool
atomic_long_try_cmpxchg_acquire(atomic_long_t * v,long * old,long new)934 atomic_long_try_cmpxchg_acquire(atomic_long_t *v, long *old, long new)
935 {
936 	return atomic_try_cmpxchg_acquire(v, (int *)old, new);
937 }
938 
939 static inline bool
atomic_long_try_cmpxchg_release(atomic_long_t * v,long * old,long new)940 atomic_long_try_cmpxchg_release(atomic_long_t *v, long *old, long new)
941 {
942 	return atomic_try_cmpxchg_release(v, (int *)old, new);
943 }
944 
945 static inline bool
atomic_long_try_cmpxchg_relaxed(atomic_long_t * v,long * old,long new)946 atomic_long_try_cmpxchg_relaxed(atomic_long_t *v, long *old, long new)
947 {
948 	return atomic_try_cmpxchg_relaxed(v, (int *)old, new);
949 }
950 
951 static inline bool
atomic_long_sub_and_test(long i,atomic_long_t * v)952 atomic_long_sub_and_test(long i, atomic_long_t *v)
953 {
954 	return atomic_sub_and_test(i, v);
955 }
956 
957 static inline bool
atomic_long_dec_and_test(atomic_long_t * v)958 atomic_long_dec_and_test(atomic_long_t *v)
959 {
960 	return atomic_dec_and_test(v);
961 }
962 
963 static inline bool
atomic_long_inc_and_test(atomic_long_t * v)964 atomic_long_inc_and_test(atomic_long_t *v)
965 {
966 	return atomic_inc_and_test(v);
967 }
968 
969 static inline bool
atomic_long_add_negative(long i,atomic_long_t * v)970 atomic_long_add_negative(long i, atomic_long_t *v)
971 {
972 	return atomic_add_negative(i, v);
973 }
974 
975 static inline long
atomic_long_fetch_add_unless(atomic_long_t * v,long a,long u)976 atomic_long_fetch_add_unless(atomic_long_t *v, long a, long u)
977 {
978 	return atomic_fetch_add_unless(v, a, u);
979 }
980 
981 static inline bool
atomic_long_add_unless(atomic_long_t * v,long a,long u)982 atomic_long_add_unless(atomic_long_t *v, long a, long u)
983 {
984 	return atomic_add_unless(v, a, u);
985 }
986 
987 static inline bool
atomic_long_inc_not_zero(atomic_long_t * v)988 atomic_long_inc_not_zero(atomic_long_t *v)
989 {
990 	return atomic_inc_not_zero(v);
991 }
992 
993 static inline bool
atomic_long_inc_unless_negative(atomic_long_t * v)994 atomic_long_inc_unless_negative(atomic_long_t *v)
995 {
996 	return atomic_inc_unless_negative(v);
997 }
998 
999 static inline bool
atomic_long_dec_unless_positive(atomic_long_t * v)1000 atomic_long_dec_unless_positive(atomic_long_t *v)
1001 {
1002 	return atomic_dec_unless_positive(v);
1003 }
1004 
1005 static inline long
atomic_long_dec_if_positive(atomic_long_t * v)1006 atomic_long_dec_if_positive(atomic_long_t *v)
1007 {
1008 	return atomic_dec_if_positive(v);
1009 }
1010 
1011 #endif /* CONFIG_64BIT */
1012 #endif /* _ASM_GENERIC_ATOMIC_LONG_H */
1013 // 77558968132ce4f911ad53f6f52ce423006f6268
1014