diff -ruNp 209-get-module-list-old/kernel/module.c 209-get-module-list-new/kernel/module.c
--- 209-get-module-list-old/kernel/module.c	2004-12-14 06:58:23.260116928 +1100
+++ 209-get-module-list-new/kernel/module.c	2004-12-14 06:58:07.789468824 +1100
@@ -2105,6 +2105,18 @@ void module_remove_driver(struct device_
 }
 EXPORT_SYMBOL(module_remove_driver);
 
+int print_module_list_to_buffer(char * buffer, int size)
+{
+	struct module *mod;
+	int pos = 0;
+
+	list_for_each_entry(mod, &modules, list)
+		if (mod->name)
+			pos += snprintf(buffer+pos, size-pos-1, 
+					"%s ", mod->name);
+	return pos;
+}
+
 #ifdef CONFIG_MODVERSIONS
 /* Generate the signature for struct module here, too, for modversions. */
 void struct_module(struct module *mod) { return; }
@@ -2115,3 +2127,5 @@ EXPORT_SYMBOL(struct_module);
 struct list_head *kdb_modules = &modules;	/* kdb needs the list of modules */
 #endif	/* CONFIG_KDB */
 
+/* For Suspend2 */
+EXPORT_SYMBOL(print_module_list_to_buffer);
