• Masahiro Yamada's avatar
    init: move THIS_MODULE from <linux/export.h> to <linux/init.h> · 5b20755b
    Masahiro Yamada authored
    Commit f5016932 ("module.h: split out the EXPORT_SYMBOL into
    export.h") appropriately separated EXPORT_SYMBOL into <linux/export.h>
    because modules and EXPORT_SYMBOL are orthogonal; modules are symbol
    consumers, while EXPORT_SYMBOL are used by symbol providers, which
    may not be necessarily a module.
    
    However, that commit also relocated THIS_MODULE. As explained in the
    commit description, the intention was to define THIS_MODULE in a
    lightweight header, but I do not believe <linux/export.h> was the
    best location because EXPORT_SYMBOL and THIS_MODULE are unrelated.
    
    Move it to another lightweight header, <linux/init.h>. The reason for
    choosing <linux/init.h> is to make <linux/moduleparam.h> self-contained
    without relying on <linux/linkage.h> incorrectly including
    <linux/export.h>.
    
    With this adjustment, the role of <linux/export.h> becomes clearer as
    it only defines EXPORT_SYMBOL.
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    5b20755b
init.h 12.3 KB