Can we please stop this boilerplate code an instead our __init/__exit sections to supper multiple entires per module. This should be mostly trivial, except that we'd probably want a single macro that has the init and exit calls so that the order in the section is the same and the unroll on failure can walk back form the given offset. e.g. something like: module_subinit(foo_bar_init, foo_bar_exit); module_subinit(foo_bar2_init, foo_bar2_exit);