[REFACTOR] redesing driver new
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Thu, 4 Jul 2013 08:52:36 +0000 (12:52 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Thu, 4 Jul 2013 08:52:36 +0000 (12:52 +0400)
driver_new/Kbuild
driver_new/device_driver.c
driver_new/device_driver.h
driver_new/swap_driver_module.c [deleted file]
driver_new/swap_driver_module.h [deleted file]

index b276966..2a8e7ae 100644 (file)
@@ -1,6 +1,5 @@
 EXTRA_CFLAGS := $(extra_cflags)
 
 obj-m := swap_driver_new.o
-swap_driver_new-y := swap_driver_module.o \
-                     device_driver.o \
+swap_driver_new-y := device_driver.o \
                      driver_to_buffer.o
index 4140179..8690ef5 100644 (file)
@@ -56,10 +56,7 @@ static splice_to_pipe_p_t splice_to_pipe_p = NULL;
 static splice_shrink_spd_p_t splice_shrink_spd_p = NULL;
 static splice_grow_spd_p_t splice_grow_spd_p = NULL;
 
-/* Typedef for swap_message_parser handler func */
-typedef int(*swap_message_parser_handler_t)(unsigned int cmd, void __user * arg);
-
-static swap_message_parser_handler_t swap_message_parser_handler = NULL;
+static msg_handler_t msg_handler = NULL;
 
 /* Device numbers */
 static dev_t swap_device_no = 0;
@@ -321,8 +318,8 @@ static long swap_device_ioctl(struct file *filp, unsigned int cmd,
         }
         default:
         {
-            if (swap_message_parser_handler) {
-                result = swap_message_parser_handler(cmd, (void __user *) arg);
+            if (msg_handler) {
+                result = msg_handler((void __user *)arg);
             } else {
 //                print_warn("Unknown command %d\n", cmd);
                 result = -EINVAL;
@@ -449,10 +446,25 @@ void swap_device_wake_up_process(void)
     wake_up_interruptible(&swap_device_wait);
 }
 
-int register_message_handler(void *s_m_p_h)
+void set_msg_handler(msg_handler_t mh)
 {
-    print_debug("Register message handler\n");
+       msg_handler = mh;
+}
+EXPORT_SYMBOL_GPL(set_msg_handler);
 
-    swap_message_parser_handler = s_m_p_h;
-    return E_SD_SUCCESS;
+static int __init swap_driver_init(void)
+{
+       swap_device_init();
+
+       return 0;
 }
+
+static void __exit swap_driver_exit(void)
+{
+       swap_device_exit();
+}
+
+module_init(swap_driver_init);
+module_exit(swap_driver_exit);
+
+MODULE_LICENSE("GPL");
index b9aa9c8..738f46b 100644 (file)
@@ -1,13 +1,9 @@
 #ifndef __SWAP_DRIVER_DEVICE_DRIVER__
 #define __SWAP_DRIVER_DEVICE_DRIVER__
 
-/* Create and register device */
-int swap_device_init(void);
+typedef int (*msg_handler_t)(void __user *data);
 
-/* Delete device */
-void swap_device_exit(void);
-
-/* Register swap_message_parser handler */
-int register_message_handler(void *s_m_p_h);
+/* Set the message handler */
+void set_msg_handler(msg_handler_t mh);
 
 #endif /* __SWAP_DRIVER_DEVICE_DRIVER__ */
diff --git a/driver_new/swap_driver_module.c b/driver_new/swap_driver_module.c
deleted file mode 100644 (file)
index 84c79c7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <linux/module.h>
-
-#include "driver_defs.h"
-#include "device_driver.h"
-
-int register_swap_message_parser_handler(void *s_m_p_h)
-{
-    return register_message_handler(s_m_p_h);
-}
-EXPORT_SYMBOL_GPL(register_swap_message_parser_handler);
-
-static int __init swap_driver_init(void)
-{
-    print_msg("Module init\n");
-
-#ifdef TEST_MODE
-    print_msg("Test mode on\n");
-#endif
-
-    swap_device_init();
-
-    return 0;
-}
-
-static void __exit swap_driver_exit(void)
-{
-    //TODO Kill userspace daemon process
-    swap_device_exit();
-    print_msg("Module exit\n");
-}
-
-module_init(swap_driver_init);
-module_exit(swap_driver_exit);
-
-MODULE_LICENSE("GPL");
diff --git a/driver_new/swap_driver_module.h b/driver_new/swap_driver_module.h
deleted file mode 100644 (file)
index a464b10..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* SWAP Device Driver interface module */
-
-#ifndef __SWAP_DRIVER_MODULE_H__
-#define __SWAP_DRIVER_MODULE_H__
-
-/* Register swap_message_parser messages handler */
-int register_swap_message_parser_handler(void *s_m_p_h);
-
-#endif /* __SWAP_DRIVER_MODULE_H__ */