I don't see where this is a problem. API functions, ie. those that will
get called from other modules, are broken if they are marked __init.
>From what I've seen, converting various modules to use the new
module_init/exit, there have not been any problems with overzealous
__init usage. The problem is generally completely lack of __init{data}
usage.
The behavior and logic of __init{data}-related code should be exactly
the same, whether code is compiled as a module vs. compiled into the
kernel.
Well, for example, in a set of patches given to me, a structure which is
needed when the driver is loaded/initialized and unloaded was marked as
__initdata. This was perfectly safe, because compiled-in kernel drivers
are never unloaded, and currently, for modules __initdata is ignored.
If at some point __initdata was honored for modules, then when it came
time to unload the module --- oops! System crash.
- Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/