Hi Peter, On Thu, Jul 9, 2015 at 7:29 PM, Peter Zijlstra <pet...@infradead.org> wrote: > --- a/include/linux/atomic.h > +++ b/include/linux/atomic.h > @@ -28,6 +28,23 @@ static inline int atomic_add_unless(atom > #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) > #endif > > +#ifndef atomic_nand > +static inline void atomic_nand(int i, atomic_t *v) > +{ > + atomic_and(~i, v);
That sounds like a misnomer... Your NAND is "A & ~B", while my[*] NAND is "~(A & B)"? [*] https://en.wikipedia.org/wiki/NAND_logic What about atomic_clear()? (Is atomic_bic() too ARM-centric?) > +} > +#endif > + > +static inline __deprecated void atomic_clear_mask(unsigned int mask, > atomic_t *v) > +{ > + atomic_nand(mask, v); > +} Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/