patch-2.4.15 linux/include/linux/module.h
Next file: linux/include/linux/mtd/jedec.h
Previous file: linux/include/linux/mm.h
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Thu Nov 22 11:46:19 2001
- Orig file:
v2.4.14/linux/include/linux/module.h
- Orig date:
Thu Oct 18 13:47:38 2001
diff -u --recursive --new-file v2.4.14/linux/include/linux/module.h linux/include/linux/module.h
@@ -257,8 +257,6 @@
__attribute__ ((unused)) = sizeof(struct gtype##_id); \
static const struct gtype##_id * __module_##gtype##_table \
__attribute__ ((unused)) = name
-#define MODULE_DEVICE_TABLE(type,name) \
- MODULE_GENERIC_TABLE(type##_device,name)
/*
* The following license idents are currently accepted as indicating free
@@ -312,8 +310,15 @@
#define MODULE_SUPPORTED_DEVICE(name)
#define MODULE_PARM(var,type)
#define MODULE_PARM_DESC(var,desc)
-#define MODULE_GENERIC_TABLE(gtype,name)
-#define MODULE_DEVICE_TABLE(type,name)
+
+/* Create a dummy reference to the table to suppress gcc unused warnings. Put
+ * the reference in the .data.exit section which is discarded when code is built
+ * in, so the reference does not bloat the running kernel. Note: cannot be
+ * const, other exit data may be writable.
+ */
+#define MODULE_GENERIC_TABLE(gtype,name) \
+static const struct gtype##_id * __module_##gtype##_table \
+ __attribute__ ((unused, __section__(".data.exit"))) = name
#ifndef __GENKSYMS__
@@ -327,6 +332,9 @@
#endif /* !__GENKSYMS__ */
#endif /* MODULE */
+
+#define MODULE_DEVICE_TABLE(type,name) \
+ MODULE_GENERIC_TABLE(type##_device,name)
/* Export a symbol either from the kernel or a module.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)