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