hoi :) On Wed, Feb 01, 2006 at 06:02:29PM +0900, Akinobu Mita wrote: > +static __inline__ void set_bit(int nr, volatile unsigned long *addr) > +{ > + unsigned long mask = BITOP_MASK(nr); > + unsigned long *p = ((unsigned long *)addr) + BITOP_WORD(nr); > + unsigned long flags; > + > + _atomic_spin_lock_irqsave(p, flags); > + *p |= mask; > + _atomic_spin_unlock_irqrestore(p, flags); > +} You could even use your new generic non-atomic bitops to implement these -- Martin Waitz