[PATCH v2 3/3] module: Bring includes in linux/kmod.h up to date

Petr Pavlu <[email protected]> Tue, 21 Jul 2026 15:11:27 +0200
Newsgroups dev.linux.lists.bridge,dev.linux.lists.drbd-dev,dev.linux.lists.driver-core,dev.linux.lists.ocfs2-devel,org.freedesktop.lists.dri-devel,org.kernel.vger.cgroups,org.kernel.vger.keyrings,org.kernel.vger.linux-acpi,org.kernel.vger.linux-block,org.kernel.vger.linux-edac,org.kernel.vger.linux-fbdev,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-modules,org.kernel.vger.linux-nfs,org.kernel.vger.linux-pm,org.kernel.vger.linux-security-module,org.kernel.vger.netdev,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>
Including linux/kmod.h alone results in 1.5 MB of preprocessed output, even
though it provides only a few functions and macros.

The header currently depends on:

* __printf() -> linux/compiler_attributes.h,
* ENOSYS -> linux/errno.h,
* bool -> linux/types.h.

Include only these files, reducing the preprocessed output to 10 kB.

Signed-off-by: Petr Pavlu <[email protected]>
Reviewed-by: Aaron Tomlin <[email protected]>
---
 include/linux/kmod.h | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/include/linux/kmod.h b/include/linux/kmod.h
index 9a07c3215389..b9474a62a568 100644
--- a/include/linux/kmod.h
+++ b/include/linux/kmod.h
@@ -2,17 +2,9 @@
 #ifndef __LINUX_KMOD_H__
 #define __LINUX_KMOD_H__
 
-/*
- *	include/linux/kmod.h
- */
-
-#include <linux/umh.h>
-#include <linux/gfp.h>
-#include <linux/stddef.h>
+#include <linux/compiler_attributes.h>
 #include <linux/errno.h>
-#include <linux/compiler.h>
-#include <linux/workqueue.h>
-#include <linux/sysctl.h>
+#include <linux/types.h>
 
 #ifdef CONFIG_MODULES
 /* modprobe exit status on success, -ve on error.  Return value
-- 
2.54.0