variuos old test code
[pandora-misc.git] / tests / mod_test / mod_test.c
diff --git a/tests/mod_test/mod_test.c b/tests/mod_test/mod_test.c
new file mode 100644 (file)
index 0000000..db2f950
--- /dev/null
@@ -0,0 +1,90 @@
+#include <linux/module.h>\r
+#include <linux/kernel.h>\r
+#include <linux/proc_fs.h>\r
+#include <linux/uaccess.h>\r
+\r
+int  get_fpscr(void);\r
+void set_fpscr(int val);\r
+\r
+static int proc_read(char *page, char **start, off_t off, int count,\r
+               int *eof, void *data)\r
+{\r
+       char *p = page;\r
+       int len;\r
+\r
+       p += sprintf(p, "%08x\n", get_fpscr());\r
+\r
+       len = (p - page) - off;\r
+       if (len < 0)\r
+               len = 0;\r
+\r
+       *eof = (len <= count) ? 1 : 0;\r
+       *start = page + off;\r
+\r
+       return len;\r
+}\r
+\r
+static int proc_write(struct file *file, const char __user *buffer,\r
+               unsigned long count, void *data)\r
+{\r
+       char buff[32];\r
+       unsigned long val;\r
+       int ret;\r
+\r
+       count = strncpy_from_user(buff, buffer,\r
+                       count < sizeof(buff) ? count : sizeof(buff) - 1);\r
+       buff[count] = 0;\r
+\r
+       ret = strict_strtoul(buff, 0, &val);\r
+       if (ret < 0) {\r
+               printk(KERN_ERR "error %i parsing %s\n", ret, buff);\r
+               return ret;\r
+       }\r
+\r
+       set_fpscr(val);\r
+\r
+       return count;\r
+}\r
+\r
+//#include <linux/clk.h>\r
+static int init_my_module(void)\r
+{\r
+       struct proc_dir_entry *pret;\r
+/*\r
+       struct clk *xclk = clk_get(NULL, "dss1_alwon_fck");\r
+       clk_enable(xclk);\r
+       printk("dss1_fck: %p %i\n", xclk, clk_get_rate(xclk));\r
+       clk_disable(xclk);\r
+       clk_put(xclk);\r
+       return 0;\r
+*/\r
+       printk(KERN_INFO "random test module loaded\n");\r
+\r
+       pret = create_proc_entry("test",\r
+                       S_IWUSR | S_IRUGO, NULL);\r
+       if (pret == NULL) {\r
+               printk(KERN_ERR "can't create proc\n");\r
+               return -1;\r
+       }\r
+\r
+       pret->read_proc = proc_read;\r
+       pret->write_proc = proc_write;\r
+\r
+       return 0;\r
+}\r
+\r
+\r
+static void cleanup_my_module(void)\r
+{\r
+       remove_proc_entry("test", NULL);\r
+       printk("random test module unloaded\n");\r
+}\r
+\r
+\r
+module_init(init_my_module);\r
+module_exit(cleanup_my_module);\r
+\r
+MODULE_AUTHOR("notaz");\r
+MODULE_LICENSE("GPL");\r
+MODULE_DESCRIPTION("module test");\r
+\r