On Wednesday 07 March 2012, David Howells wrote: > Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > One part you were missing seems to be include/asm-generic/system.h, which is > > used on openrisc and contains a lot of the things you move to other > > places. It would be helpful to split that up as well. > > Hmmm... okay. How that is used from an arch that doesn't have an > asm/system.h? We're migration towards using generic-y in arch/*/include/arm/Kbuild now. When you create header files that have reasonable defaults that can be shared across multiple architectures, I think you should do that for the new header files as well. > > > (4) asm/atomic.h > > > > > > Move xchg() and cmpxchg() here as they're full word atomic ops and > > > frequently used by atomic_xchg() and atomic_cmpxchg(). > > > > Well, the thing with xchg and cmpxchg is that they operate on arbirary-sized > > integers, not atomic_t, unlike everything else in atomic.h. > > > > Some architectures already have an asm/cmpxchg.h, which seems more appropriate > > here. > > So I saw. It might be worth making an asm/xchg.h and asm/cmpxchg.h for each > arch - or maybe just put both in asm/xchg.h or asm/cmpxchg.h. Where do I > include it from though? One nice thing about sticking them in asm/atomic.h is > that usually gets all instances, and they're frequently used from there. How > about I have asm/atomic.h #include asm/{,cmp}xchg.h? Yes, that makes sense and is probably required anyway for the obvious implementation of atomic_cmpxchg(). Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html