Commit 9a633d00 authored by Konrad Zapalowicz's avatar Konrad Zapalowicz Committed by Greg Kroah-Hartman

staging: dgnc: Move utility functions out of dgnc_driver.c

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: default avatarKonrad Zapalowicz <bergo.torino@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bbecbacb
...@@ -4,4 +4,5 @@ obj-$(CONFIG_DGNC) += dgnc.o ...@@ -4,4 +4,5 @@ obj-$(CONFIG_DGNC) += dgnc.o
dgnc-objs := dgnc_cls.o dgnc_driver.o\ dgnc-objs := dgnc_cls.o dgnc_driver.o\
dgnc_mgmt.o dgnc_neo.o\ dgnc_mgmt.o dgnc_neo.o\
dgnc_tty.o dgnc_sysfs.o dgnc_tty.o dgnc_sysfs.o\
dgnc_utils.o
...@@ -821,77 +821,3 @@ static void dgnc_init_globals(void) ...@@ -821,77 +821,3 @@ static void dgnc_init_globals(void)
init_timer(&dgnc_poll_timer); 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";
}
}
...@@ -481,16 +481,6 @@ struct channel_t { ...@@ -481,16 +481,6 @@ struct channel_t {
wait_queue_head_t ch_sniff_wait; 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. * Our Global Variables.
*/ */
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
#include "dgnc_cls.h" #include "dgnc_cls.h"
#include "dpacompat.h" #include "dpacompat.h"
#include "dgnc_sysfs.h" #include "dgnc_sysfs.h"
#include "dgnc_utils.h"
#define init_MUTEX(sem) sema_init(sem, 1) #define init_MUTEX(sem) sema_init(sem, 1)
#define DECLARE_MUTEX(name) \ #define DECLARE_MUTEX(name) \
......
#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";
}
}
#ifndef __DGNC_UTILS_H
#define __DGNC_UTILS_H
int dgnc_ms_sleep(ulong ms);
char *dgnc_ioctl_name(int cmd);
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment