You don't seem to handle the ordering of initcalls within a module
though: see net/ipv4/netfilter/ip_conntrack.o for an example of
multiple inits which would be much better as separate initcalls.
The more I play with these magic approaches, the more I prefer an
explicit "Must be done after this" and "must be done before this":
otherwise we're going to need to keep adding new levels as we discover
something that doesn't fit in the magic 7.
Especially since you don't cover any of the really interesting cases.
Maybe if you could slowly extend it to cover the rest? (Hah, I
know!).
> +init/generated-initcalls.c: .allinit.defs
> + set -e; echo '#include <linux/init.h>' > $@; \
> + sed -n < $< "s,^T ,,p" | sort > .defined.all; \
I think you mean something like:
sed -n "s,^T ,,p" < $<
> -__initcall(spawn_ksoftirqd);
> +fs_initcall(spawn_ksoftirqd);
See, this is exacly the kind of thing that makes me doubt that the
current "magic 7 initcall levels" are useful in the long term 8(
Rusty.
-- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/