]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - drivers/tty/tty_mutex.c
tty: Remove __func__ from tty_debug() macro
[mirror_ubuntu-artful-kernel.git] / drivers / tty / tty_mutex.c
CommitLineData
b07471fa
AB
1#include <linux/tty.h>
2#include <linux/module.h>
3#include <linux/kallsyms.h>
4#include <linux/semaphore.h>
5#include <linux/sched.h>
6
89c8d91e
AC
7/* Legacy tty mutex glue */
8
b07471fa
AB
9/*
10 * Getting the big tty mutex.
11 */
89c8d91e 12
2febdb63 13void __lockfunc tty_lock(struct tty_struct *tty)
b07471fa 14{
89c8d91e 15 if (tty->magic != TTY_MAGIC) {
7a0c4eda 16 pr_err("L Bad %p\n", tty);
89c8d91e
AC
17 WARN_ON(1);
18 return;
19 }
20 tty_kref_get(tty);
2febdb63 21 mutex_lock(&tty->legacy_mutex);
b07471fa
AB
22}
23EXPORT_SYMBOL(tty_lock);
24
89c8d91e 25void __lockfunc tty_unlock(struct tty_struct *tty)
b07471fa 26{
89c8d91e 27 if (tty->magic != TTY_MAGIC) {
7a0c4eda 28 pr_err("U Bad %p\n", tty);
89c8d91e
AC
29 WARN_ON(1);
30 return;
31 }
32 mutex_unlock(&tty->legacy_mutex);
33 tty_kref_put(tty);
b07471fa
AB
34}
35EXPORT_SYMBOL(tty_unlock);
89c8d91e 36
2aff5e2b 37void __lockfunc tty_lock_slave(struct tty_struct *tty)
89c8d91e 38{
eef15e2a 39 if (tty && tty != tty->link)
2febdb63 40 tty_lock(tty);
89c8d91e 41}
89c8d91e 42
2aff5e2b 43void __lockfunc tty_unlock_slave(struct tty_struct *tty)
89c8d91e 44{
2aff5e2b
PH
45 if (tty && tty != tty->link)
46 tty_unlock(tty);
89c8d91e 47}
2febdb63
PH
48
49void tty_set_lock_subclass(struct tty_struct *tty)
50{
3abf87cd 51 lockdep_set_subclass(&tty->legacy_mutex, TTY_LOCK_SLAVE);
2febdb63 52}