]> git.itanic.dy.fi Git - linux-stable/commit
init: move THIS_MODULE from <linux/export.h> to <linux/init.h>
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 26 Nov 2023 07:19:14 +0000 (16:19 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 10 Dec 2023 06:32:48 +0000 (15:32 +0900)
commit5b20755b7780464fea3e54af0af744258dcc2841
treedd4b6f346d798784f2e1125c7110658aaff060bd
parent6262afa10ef7cc8fdf39b81a36f9546b68810431
init: move THIS_MODULE from <linux/export.h> to <linux/init.h>

Commit f50169324df4 ("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: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
include/linux/export.h
include/linux/init.h