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