On Sat, Feb 02, 2008 at 02:52:22PM +0100, Sam Ravnborg wrote: > While analysing some of the section mismatches reported > by modpost I came to the conclusion that there > was no good way to say that a certain function could > both be annotated say __cpuinit and exported. > > One example is register_cpu_notifier() in kernel/cpu.c > The function is annotated __cpuinit which is correct > as this function is used only in the startup phase > of a non HOTPLUG_CPU kernel and always available if > CONFIG_HOTPLUG_CPU is equal 'y'. > > There are more examples in the tree - I have used > register_cpu_notifier as an example. > > So that left me with the following choices: > a) Drop the annotation of register_cpu_notifier() > thus wasting memory and loosing the checks > performed by modpost. > b) Add a small helper function annotated __ref > that would call the __cpuinit annotated > __register_cpu_notifier() > c) Drop all section mismatch checks for exported > symbols expect those annotated with __init
For the record I have just committed a patch to kbuild.git implmenting approach c) If we need to change this later to something more or less smart we can always do so. Sam -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/