staging: dgnc: Move utility functions out of dgnc_driver.c
authorKonrad Zapalowicz <bergo.torino@gmail.com>
Wed, 6 Aug 2014 12:21:23 +0000 (14:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Aug 2014 19:23:13 +0000 (12:23 -0700)
This commit moves the utility functions out of dgnc_driver.c file and
puts them in the new dgnc_utils.{c,h} files. The accompanying changes
adjust the existing code to work with this design.

Signed-off-by: Konrad Zapalowicz <bergo.torino@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/dgnc/Makefile
drivers/staging/dgnc/dgnc_driver.c
drivers/staging/dgnc/dgnc_driver.h
drivers/staging/dgnc/dgnc_tty.c
drivers/staging/dgnc/dgnc_utils.c [new file with mode: 0644]
drivers/staging/dgnc/dgnc_utils.h [new file with mode: 0644]

index 733434f..b69f7b6 100644 (file)
@@ -4,4 +4,5 @@ obj-$(CONFIG_DGNC) += dgnc.o
 
 dgnc-objs :=   dgnc_cls.o dgnc_driver.o\
                dgnc_mgmt.o dgnc_neo.o\
-               dgnc_tty.o dgnc_sysfs.o
+               dgnc_tty.o dgnc_sysfs.o\
+              dgnc_utils.o
index 96108e2..561571c 100644 (file)
@@ -821,77 +821,3 @@ static void dgnc_init_globals(void)
        init_timer(&dgnc_poll_timer);
 }
 
-
-/************************************************************************
- *
- * Utility functions
- *
- ************************************************************************/
-
-/*
- * dgnc_ms_sleep()
- *
- * Put the driver to sleep for x ms's
- *
- * Returns 0 if timed out, !0 (showing signal) if interrupted by a signal.
- */
-int dgnc_ms_sleep(ulong ms)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule_timeout((ms * HZ) / 1000);
-       return signal_pending(current);
-}
-
-
-
-/*
- *      dgnc_ioctl_name() : Returns a text version of each ioctl value.
- */
-char *dgnc_ioctl_name(int cmd)
-{
-       switch (cmd) {
-
-       case TCGETA:            return "TCGETA";
-       case TCGETS:            return "TCGETS";
-       case TCSETA:            return "TCSETA";
-       case TCSETS:            return "TCSETS";
-       case TCSETAW:           return "TCSETAW";
-       case TCSETSW:           return "TCSETSW";
-       case TCSETAF:           return "TCSETAF";
-       case TCSETSF:           return "TCSETSF";
-       case TCSBRK:            return "TCSBRK";
-       case TCXONC:            return "TCXONC";
-       case TCFLSH:            return "TCFLSH";
-       case TIOCGSID:          return "TIOCGSID";
-
-       case TIOCGETD:          return "TIOCGETD";
-       case TIOCSETD:          return "TIOCSETD";
-       case TIOCGWINSZ:        return "TIOCGWINSZ";
-       case TIOCSWINSZ:        return "TIOCSWINSZ";
-
-       case TIOCMGET:          return "TIOCMGET";
-       case TIOCMSET:          return "TIOCMSET";
-       case TIOCMBIS:          return "TIOCMBIS";
-       case TIOCMBIC:          return "TIOCMBIC";
-
-       /* from digi.h */
-       case DIGI_SETA:         return "DIGI_SETA";
-       case DIGI_SETAW:        return "DIGI_SETAW";
-       case DIGI_SETAF:        return "DIGI_SETAF";
-       case DIGI_SETFLOW:      return "DIGI_SETFLOW";
-       case DIGI_SETAFLOW:     return "DIGI_SETAFLOW";
-       case DIGI_GETFLOW:      return "DIGI_GETFLOW";
-       case DIGI_GETAFLOW:     return "DIGI_GETAFLOW";
-       case DIGI_GETA:         return "DIGI_GETA";
-       case DIGI_GEDELAY:      return "DIGI_GEDELAY";
-       case DIGI_SEDELAY:      return "DIGI_SEDELAY";
-       case DIGI_GETCUSTOMBAUD: return "DIGI_GETCUSTOMBAUD";
-       case DIGI_SETCUSTOMBAUD: return "DIGI_SETCUSTOMBAUD";
-       case TIOCMODG:          return "TIOCMODG";
-       case TIOCMODS:          return "TIOCMODS";
-       case TIOCSDTR:          return "TIOCSDTR";
-       case TIOCCDTR:          return "TIOCCDTR";
-
-       default:                return "unknown";
-       }
-}
index 58b5aa7..eae0494 100644 (file)
@@ -481,16 +481,6 @@ struct channel_t {
        wait_queue_head_t ch_sniff_wait;
 };
 
-
-/*************************************************************************
- *
- * Prototypes for non-static functions used in more than one module
- *
- *************************************************************************/
-
-extern int             dgnc_ms_sleep(ulong ms);
-extern char            *dgnc_ioctl_name(int cmd);
-
 /*
  * Our Global Variables.
  */
index 2dc78f7..281491a 100644 (file)
@@ -57,6 +57,7 @@
 #include "dgnc_cls.h"
 #include "dpacompat.h"
 #include "dgnc_sysfs.h"
+#include "dgnc_utils.h"
 
 #define init_MUTEX(sem)         sema_init(sem, 1)
 #define DECLARE_MUTEX(name)     \
diff --git a/drivers/staging/dgnc/dgnc_utils.c b/drivers/staging/dgnc/dgnc_utils.c
new file mode 100644 (file)
index 0000000..61efc13
--- /dev/null
@@ -0,0 +1,70 @@
+#include <linux/tty.h>
+#include <linux/sched.h>
+#include "dgnc_utils.h"
+#include "digi.h"
+
+/*
+ * dgnc_ms_sleep()
+ *
+ * Put the driver to sleep for x ms's
+ *
+ * Returns 0 if timed out, !0 (showing signal) if interrupted by a signal.
+ */
+int dgnc_ms_sleep(ulong ms)
+{
+       current->state = TASK_INTERRUPTIBLE;
+       schedule_timeout((ms * HZ) / 1000);
+       return signal_pending(current);
+}
+
+/*
+ *      dgnc_ioctl_name() : Returns a text version of each ioctl value.
+ */
+char *dgnc_ioctl_name(int cmd)
+{
+       switch (cmd) {
+
+       case TCGETA:            return "TCGETA";
+       case TCGETS:            return "TCGETS";
+       case TCSETA:            return "TCSETA";
+       case TCSETS:            return "TCSETS";
+       case TCSETAW:           return "TCSETAW";
+       case TCSETSW:           return "TCSETSW";
+       case TCSETAF:           return "TCSETAF";
+       case TCSETSF:           return "TCSETSF";
+       case TCSBRK:            return "TCSBRK";
+       case TCXONC:            return "TCXONC";
+       case TCFLSH:            return "TCFLSH";
+       case TIOCGSID:          return "TIOCGSID";
+
+       case TIOCGETD:          return "TIOCGETD";
+       case TIOCSETD:          return "TIOCSETD";
+       case TIOCGWINSZ:        return "TIOCGWINSZ";
+       case TIOCSWINSZ:        return "TIOCSWINSZ";
+
+       case TIOCMGET:          return "TIOCMGET";
+       case TIOCMSET:          return "TIOCMSET";
+       case TIOCMBIS:          return "TIOCMBIS";
+       case TIOCMBIC:          return "TIOCMBIC";
+
+       /* from digi.h */
+       case DIGI_SETA:         return "DIGI_SETA";
+       case DIGI_SETAW:        return "DIGI_SETAW";
+       case DIGI_SETAF:        return "DIGI_SETAF";
+       case DIGI_SETFLOW:      return "DIGI_SETFLOW";
+       case DIGI_SETAFLOW:     return "DIGI_SETAFLOW";
+       case DIGI_GETFLOW:      return "DIGI_GETFLOW";
+       case DIGI_GETAFLOW:     return "DIGI_GETAFLOW";
+       case DIGI_GETA:         return "DIGI_GETA";
+       case DIGI_GEDELAY:      return "DIGI_GEDELAY";
+       case DIGI_SEDELAY:      return "DIGI_SEDELAY";
+       case DIGI_GETCUSTOMBAUD: return "DIGI_GETCUSTOMBAUD";
+       case DIGI_SETCUSTOMBAUD: return "DIGI_SETCUSTOMBAUD";
+       case TIOCMODG:          return "TIOCMODG";
+       case TIOCMODS:          return "TIOCMODS";
+       case TIOCSDTR:          return "TIOCSDTR";
+       case TIOCCDTR:          return "TIOCCDTR";
+
+       default:                return "unknown";
+       }
+}
diff --git a/drivers/staging/dgnc/dgnc_utils.h b/drivers/staging/dgnc/dgnc_utils.h
new file mode 100644 (file)
index 0000000..cebf601
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef __DGNC_UTILS_H
+#define __DGNC_UTILS_H
+
+int dgnc_ms_sleep(ulong ms);
+char *dgnc_ioctl_name(int cmd);
+
+#endif