Changeset 8b4d6cb in mainline for kernel/arch/ia64/include/atomic.h


Ignore:
Timestamp:
2009-01-03T15:33:55Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2b70a6e
Parents:
fb69f39
Message:

More of ia64 cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/include/atomic.h

    rfb69f39 r8b4d6cb  
    3838/** Atomic addition.
    3939 *
    40  * @param val Atomic value.
    41  * @param imm Value to add.
     40 * @param val           Atomic value.
     41 * @param imm           Value to add.
    4242 *
    43  * @return Value before addition.
     43 * @return              Value before addition.
    4444 */
    4545static inline long atomic_add(atomic_t *val, int imm)
     
    4747        long v;
    4848
    49         asm volatile ("fetchadd8.rel %0 = %1, %2\n" : "=r" (v), "+m" (val->count) : "i" (imm));
     49        asm volatile ("fetchadd8.rel %0 = %1, %2\n" : "=r" (v),
     50            "+m" (val->count) : "i" (imm));
    5051 
    5152        return v;
     
    5758               
    5859        asm volatile (
    59                 "movl %0=0x01;;\n"
    60                 "xchg8 %0=%1,%0;;\n"
    61                 : "=r" (v),"+m" (val->count)
     60                "movl %0 = 0x01;;\n"
     61                "xchg8 %0 = %1, %0;;\n"
     62                : "=r" (v), "+m" (val->count)
    6263        );
    6364       
     
    6667
    6768
    68 static inline void atomic_inc(atomic_t *val) { atomic_add(val, 1); }
    69 static inline void atomic_dec(atomic_t *val) { atomic_add(val, -1); }
     69static inline void atomic_inc(atomic_t *val)
     70{
     71        atomic_add(val, 1);
     72}
    7073
    71 static inline long atomic_preinc(atomic_t *val) { return atomic_add(val, 1) + 1; }
    72 static inline long atomic_predec(atomic_t *val) { return atomic_add(val, -1) - 1; }
     74static inline void atomic_dec(atomic_t *val)
     75{
     76        atomic_add(val, -1);
     77}
    7378
    74 static inline long atomic_postinc(atomic_t *val) { return atomic_add(val, 1); }
    75 static inline long atomic_postdec(atomic_t *val) { return atomic_add(val, -1); }
     79static inline long atomic_preinc(atomic_t *val)
     80{
     81        return atomic_add(val, 1) + 1;
     82}
     83
     84static inline long atomic_predec(atomic_t *val)
     85{
     86        return atomic_add(val, -1) - 1;
     87}
     88
     89static inline long atomic_postinc(atomic_t *val)
     90{
     91        return atomic_add(val, 1);
     92}
     93
     94static inline long atomic_postdec(atomic_t *val)
     95{
     96        return atomic_add(val, -1);
     97}
    7698
    7799#endif
Note: See TracChangeset for help on using the changeset viewer.