hc
2023-02-14 b625cdcd68479b3d540a915785b6d9809b52a2f8
kernel/include/linux/device.h
....@@ -1711,6 +1711,17 @@
17111711 } \
17121712 module_exit(__driver##_exit);
17131713
1714
+#define module_driver1(__driver, __register, __unregister, ...) \
1715
+static int __init __driver##_init(void) \
1716
+{ \
1717
+ return __register(&(__driver) , ##__VA_ARGS__); \
1718
+} \
1719
+arch_initcall(__driver##_init); \
1720
+static void __exit __driver##_exit(void) \
1721
+{ \
1722
+ __unregister(&(__driver) , ##__VA_ARGS__); \
1723
+} \
1724
+module_exit(__driver##_exit);
17141725 /**
17151726 * builtin_driver() - Helper macro for drivers that don't do anything
17161727 * special in init and have no exit. This eliminates some boilerplate.