Merge tag 'powerpc-5.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[linux-2.6-microblaze.git] / drivers / tty / tty_ldisc.c
index d02deeb..756a4bf 100644 (file)
@@ -48,7 +48,6 @@ static struct tty_ldisc_ops *tty_ldiscs[NR_LDISCS];
 
 /**
  *     tty_register_ldisc      -       install a line discipline
- *     @disc: ldisc number
  *     @new_ldisc: pointer to the ldisc object
  *
  *     Installs a new line discipline into the kernel. The discipline
@@ -69,7 +68,6 @@ int tty_register_ldisc(struct tty_ldisc_ops *new_ldisc)
 
        raw_spin_lock_irqsave(&tty_ldiscs_lock, flags);
        tty_ldiscs[new_ldisc->num] = new_ldisc;
-       new_ldisc->refcount = 0;
        raw_spin_unlock_irqrestore(&tty_ldiscs_lock, flags);
 
        return ret;
@@ -78,7 +76,7 @@ EXPORT_SYMBOL(tty_register_ldisc);
 
 /**
  *     tty_unregister_ldisc    -       unload a line discipline
- *     @disc: ldisc number
+ *     @ldisc: ldisc number
  *
  *     Remove a line discipline from the kernel providing it is not
  *     currently in use.
@@ -87,19 +85,13 @@ EXPORT_SYMBOL(tty_register_ldisc);
  *             takes tty_ldiscs_lock to guard against ldisc races
  */
 
-int tty_unregister_ldisc(struct tty_ldisc_ops *ldisc)
+void tty_unregister_ldisc(struct tty_ldisc_ops *ldisc)
 {
        unsigned long flags;
-       int ret = 0;
 
        raw_spin_lock_irqsave(&tty_ldiscs_lock, flags);
-       if (tty_ldiscs[ldisc->num]->refcount)
-               ret = -EBUSY;
-       else
-               tty_ldiscs[ldisc->num] = NULL;
+       tty_ldiscs[ldisc->num] = NULL;
        raw_spin_unlock_irqrestore(&tty_ldiscs_lock, flags);
-
-       return ret;
 }
 EXPORT_SYMBOL(tty_unregister_ldisc);
 
@@ -113,10 +105,8 @@ static struct tty_ldisc_ops *get_ldops(int disc)
        ldops = tty_ldiscs[disc];
        if (ldops) {
                ret = ERR_PTR(-EAGAIN);
-               if (try_module_get(ldops->owner)) {
-                       ldops->refcount++;
+               if (try_module_get(ldops->owner))
                        ret = ldops;
-               }
        }
        raw_spin_unlock_irqrestore(&tty_ldiscs_lock, flags);
        return ret;
@@ -127,7 +117,6 @@ static void put_ldops(struct tty_ldisc_ops *ldops)
        unsigned long flags;
 
        raw_spin_lock_irqsave(&tty_ldiscs_lock, flags);
-       ldops->refcount--;
        module_put(ldops->owner);
        raw_spin_unlock_irqrestore(&tty_ldiscs_lock, flags);
 }