+#include <linux/export.h>
+#include <linux/module.h>
You have a u32 field in a struct called "modules" but aside from that, I do not
see anything in this code requiring module.h -- did I miss something?
You might want export.h for EXPORT_SYMBOL though.