diff options
author | Jiri Slaby <jslaby@suse.cz> | 2012-04-02 13:54:19 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-09 11:28:18 -0700 |
commit | 560460b8b764b610b01b81f8f44193d77d06ed91 (patch) | |
tree | 2b2eef95061ad2107fb8415eb12f207f7ef4cc1d /drivers | |
parent | ba186e7d17ea874f2a56385806e0ef213f58a1dd (diff) |
TTY: bfin_jtag_comm, add tty_port
And use open count from there. Switch to tty from there will follow.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/bfin_jtag_comm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/tty/bfin_jtag_comm.c b/drivers/tty/bfin_jtag_comm.c index 946f799861f..d81013c3d22 100644 --- a/drivers/tty/bfin_jtag_comm.c +++ b/drivers/tty/bfin_jtag_comm.c @@ -63,8 +63,8 @@ static inline uint32_t bfin_write_emudat_chars(char a, char b, char c, char d) static struct tty_driver *bfin_jc_driver; static struct task_struct *bfin_jc_kthread; static struct tty_struct * volatile bfin_jc_tty; -static unsigned long bfin_jc_count; static DEFINE_MUTEX(bfin_jc_tty_mutex); +static struct tty_port port; static volatile struct circ_buf bfin_jc_write_buf; static int @@ -150,8 +150,7 @@ static int bfin_jc_open(struct tty_struct *tty, struct file *filp) { mutex_lock(&bfin_jc_tty_mutex); - pr_debug("open %lu\n", bfin_jc_count); - ++bfin_jc_count; + port.count++; bfin_jc_tty = tty; wake_up_process(bfin_jc_kthread); mutex_unlock(&bfin_jc_tty_mutex); @@ -162,8 +161,7 @@ static void bfin_jc_close(struct tty_struct *tty, struct file *filp) { mutex_lock(&bfin_jc_tty_mutex); - pr_debug("close %lu\n", bfin_jc_count); - if (--bfin_jc_count == 0) + if (--port.count == 0) bfin_jc_tty = NULL; wake_up_process(bfin_jc_kthread); mutex_unlock(&bfin_jc_tty_mutex); @@ -242,6 +240,8 @@ static int __init bfin_jc_init(void) { int ret; + tty_port_init(&port); + bfin_jc_kthread = kthread_create(bfin_jc_emudat_manager, NULL, DRV_NAME); if (IS_ERR(bfin_jc_kthread)) return PTR_ERR(bfin_jc_kthread); |