From 755336cb89d9507a85518c0bbb55ed1db039c2fa Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 13 Aug 2024 08:02:37 +0000
Subject: [PATCH] 4g /5g
---
kernel/include/linux/device/driver.h | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/kernel/include/linux/device/driver.h b/kernel/include/linux/device/driver.h
index d5ad474..40e9f87 100644
--- a/kernel/include/linux/device/driver.h
+++ b/kernel/include/linux/device/driver.h
@@ -272,6 +272,30 @@
} \
module_exit(__driver##_exit);
+#define module_driver1(__driver, __register, __unregister, ...) \
+static int __init __driver##_init(void) \
+{ \
+ return __register(&(__driver) , ##__VA_ARGS__); \
+} \
+arch_initcall(__driver##_init); \
+static void __exit __driver##_exit(void) \
+{ \
+ __unregister(&(__driver) , ##__VA_ARGS__); \
+} \
+module_exit(__driver##_exit)
+
+#define module_driver2(__driver, __register, __unregister, ...) \
+static int __init __driver##_init(void) \
+{ \
+ return __register(&(__driver) , ##__VA_ARGS__); \
+} \
+late_initcall(__driver##_init); \
+static void __exit __driver##_exit(void) \
+{ \
+ __unregister(&(__driver) , ##__VA_ARGS__); \
+} \
+module_exit(__driver##_exit);
+
/**
* builtin_driver() - Helper macro for drivers that don't do anything
* special in init and have no exit. This eliminates some boilerplate.
--
Gitblit v1.6.2