OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [s390/] [char/] [tubttyscl.c] - Rev 1275

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 *  IBM/3270 Driver -- Copyright (C) 2000, 2001 UTS Global LLC
 *
 *  tubttyscl.c -- Linemode tty driver scroll-timing functions
 *
 *
 *
 *
 *
 *  Author:  Richard Hitt
 */
#include "tubio.h"
       void tty3270_scl_settimer(tub_t *);
       void tty3270_scl_resettimer(tub_t *);
static void tty3270_scl_timeout(unsigned long);
 
void
tty3270_scl_settimer(tub_t *tubp)
{
	struct timer_list *tp = &tubp->tty_stimer;
 
	if (tubp->flags & TUB_SCROLLTIMING)
		return;
	if (tubp->tty_scrolltime == 0)
		return;
 
	init_timer(tp);
	tp->expires = jiffies + HZ * tubp->tty_scrolltime;
	tp->data = (unsigned long)tubp;
	tp->function = tty3270_scl_timeout;
	add_timer(tp);
	tubp->flags |= TUB_SCROLLTIMING;
}
 
void
tty3270_scl_resettimer(tub_t *tubp)
{
	struct timer_list *tp = &tubp->tty_stimer;
 
	if ((tubp->flags & TUB_SCROLLTIMING) == 0)
		return;
 
	del_timer(tp);
	tubp->flags &= ~TUB_SCROLLTIMING;
}
 
static void
tty3270_scl_timeout(unsigned long data)
{
	tub_t *tubp = (void *)data;
	long flags;
 
	TUBLOCK(tubp->irq, flags);
	tubp->stat = TBS_RUNNING;
	tty3270_scl_resettimer(tubp);
	tubp->cmd = TBC_CLRUPDLOG;
	tty3270_build(tubp);
	TUBUNLOCK(tubp->irq, flags);
}
 
int
tty3270_scl_set(tub_t *tubp, char *buf, int count)
{
	if (strncmp(buf, "scrolltime=", 11) == 0) {
		tubp->tty_scrolltime =
			simple_strtoul(buf + 11, 0, 0);
		return count;
	}
	return 0;
}
 
int
tty3270_scl_init(tub_t *tubp)
{
	extern int tubscrolltime;
 
	tubp->tty_scrolltime = tubscrolltime;
	if (tubp->tty_scrolltime < 0)
		tubp->tty_scrolltime = DEFAULT_SCROLLTIME;
	return 0;
}
 
void
tty3270_scl_fini(tub_t *tubp)
{
	if ((tubp->flags & TUB_OPEN_STET) == 0)
		tty3270_scl_resettimer(tubp);
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.