Re: [RFC][PATCH 00/29] Disintegrate and kill asm/system.h
From: Arnd Bergmann <arnd@arndb.de>
Date: 2012-03-07 23:00:09
Also in:
lkml
On Wednesday 07 March 2012, David Howells wrote:
Arnd Bergmann [off-list ref] wrote:quoted
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.
quoted
quoted
(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