+--- a/linux/include/linux/module.h 2009-07-27 09:17:57.000000000 +0000
++++ b/linux/include/linux/module.h 2009-07-27 09:39:26.000000000 +0000
+@@ -16,7 +16,6 @@
+ #include <linux/kobject.h>
+ #include <linux/moduleparam.h>
+ #include <linux/marker.h>
+-#include <linux/tracepoint.h>
+ #include <asm/local.h>
+
+ #include <asm/module.h>
+@@ -333,11 +332,6 @@
+ unsigned int num_markers;
+ #endif
+
+-#ifdef CONFIG_TRACEPOINTS
+- struct tracepoint *tracepoints;
+- unsigned int num_tracepoints;
+-#endif
+-
+ #ifdef CONFIG_MODULE_UNLOAD
+ /* What modules depend on me? */
+ struct list_head modules_which_use_me;
+@@ -349,8 +343,9 @@
+ void (*exit)(void);
+
+ /* Reference counts */
+- struct module_ref *ref;
++ struct module_ref ref[NR_CPUS];
+ #endif
++
+ };
+ #ifndef MODULE_ARCH_INIT
+ #define MODULE_ARCH_INIT {}
+@@ -368,7 +363,6 @@
+ struct module *module_text_address(unsigned long addr);
+ struct module *__module_text_address(unsigned long addr);
+ int is_module_address(unsigned long addr);
+-const char *supported_printable(int taint);
+
+ /* Returns 0 and fills in value, defined and namebuf, or -ERANGE if
+ symnum out of range. */
+@@ -459,9 +453,6 @@
+
+ extern void module_update_markers(void);
+
+-extern void module_update_tracepoints(void);
+-extern int module_get_iter_tracepoints(struct tracepoint_iter *iter);
+-
+ #else /* !CONFIG_MODULES... */
+ #define EXPORT_SYMBOL(sym)
+ #define EXPORT_SYMBOL_GPL(sym)
+@@ -566,15 +557,6 @@
+ {
+ }
+
+-static inline void module_update_tracepoints(void)
+-{
+-}
+-
+-static inline int module_get_iter_tracepoints(struct tracepoint_iter *iter)
+-{
+- return 0;
+-}
+-
+ #endif /* CONFIG_MODULES */
+
+ struct device_driver;