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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
+0 −74
Original line number Diff line number Diff line
@@ -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";
	}
}
+0 −10
Original line number Diff line number Diff line
@@ -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.
 */
+1 −0
Original line number Diff line number Diff line
@@ -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)     \
+70 −0
Original line number Diff line number Diff line
#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";
	}
}
Loading