LCOV - code coverage report
Current view: top level - drivers/tty - tty_mutex.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 23 0.0 %
Date: 2023-03-27 20:00:47 Functions: 0 6 0.0 %

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0
       2             : #include <linux/tty.h>
       3             : #include <linux/module.h>
       4             : #include <linux/kallsyms.h>
       5             : #include <linux/semaphore.h>
       6             : #include <linux/sched.h>
       7             : #include "tty.h"
       8             : 
       9             : /* Legacy tty mutex glue */
      10             : 
      11             : /*
      12             :  * Getting the big tty mutex.
      13             :  */
      14             : 
      15           0 : void tty_lock(struct tty_struct *tty)
      16             : {
      17           0 :         tty_kref_get(tty);
      18           0 :         mutex_lock(&tty->legacy_mutex);
      19           0 : }
      20             : EXPORT_SYMBOL(tty_lock);
      21             : 
      22           0 : int tty_lock_interruptible(struct tty_struct *tty)
      23             : {
      24             :         int ret;
      25             : 
      26           0 :         tty_kref_get(tty);
      27           0 :         ret = mutex_lock_interruptible(&tty->legacy_mutex);
      28           0 :         if (ret)
      29           0 :                 tty_kref_put(tty);
      30           0 :         return ret;
      31             : }
      32             : 
      33           0 : void tty_unlock(struct tty_struct *tty)
      34             : {
      35           0 :         mutex_unlock(&tty->legacy_mutex);
      36           0 :         tty_kref_put(tty);
      37           0 : }
      38             : EXPORT_SYMBOL(tty_unlock);
      39             : 
      40           0 : void tty_lock_slave(struct tty_struct *tty)
      41             : {
      42           0 :         if (tty && tty != tty->link)
      43           0 :                 tty_lock(tty);
      44           0 : }
      45             : 
      46           0 : void tty_unlock_slave(struct tty_struct *tty)
      47             : {
      48           0 :         if (tty && tty != tty->link)
      49             :                 tty_unlock(tty);
      50           0 : }
      51             : 
      52           0 : void tty_set_lock_subclass(struct tty_struct *tty)
      53             : {
      54             :         lockdep_set_subclass(&tty->legacy_mutex, TTY_LOCK_SLAVE);
      55           0 : }

Generated by: LCOV version 1.14