On Monday 30 November 2009, Lee Schermerhorn wrote: > Looking at other asm/foo.h and asm-generic/foo.h relationships, I see > that some define the generic version of the api in the asm-generic > header if the arch asm header hasn't already defined it. asm/topology.h > is an instance of this. It includes asm-generic/topology.h after > defining arch specific versions of some of the api. This works alright, but if you expect every architecture to include the asm-generic version, you might just as well take that choice away from the architecture and put the common code into the linux/foo.h file, which you can still override with definitions in asm/foo.h. Most of the asm-generic headers are just mostly generic, and get included by some but not all architectures, the others defining the whole contents of the asm-generic file themselves in a different way. So if you e.g. want ia64 to do everything itself and all other architectures to share some or all parts of asm-generic/topology, your approach is right, otherwise just leave the code in some file in include/linux/. 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