Just use the existing linker features. Link the crc code as an .a library.
If some code needs it it'll get included. If it needs initialization
use the existing __initcall() setup. It'll generate a call to the
initialization function when it is linked in, and none if it is not.
[Note that __initcall may be a bit tricky here if some other __initcall
user like an ethernet driver needs crc32 too; there is unfortunately no
priority mechanism in __initcall to enforce that the crc32 init runs before
the other initcalls. best would probably just to use a static table to avoid
this issue]
-Andi
-
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/