lkml.org 
[lkml]   [2013]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 23/44] tty: Locate get/put ldisc functions together
    Date
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    ---
    drivers/tty/tty_ldisc.c | 46 +++++++++++++++++++++++-----------------------
    1 file changed, 23 insertions(+), 23 deletions(-)

    diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
    index f26ef1a..4e46c17 100644
    --- a/drivers/tty/tty_ldisc.c
    +++ b/drivers/tty/tty_ldisc.c
    @@ -179,6 +179,29 @@ static struct tty_ldisc *tty_ldisc_get(int disc)
    return ld;
    }

    +/**
    + * tty_ldisc_put - release the ldisc
    + *
    + * Complement of tty_ldisc_get().
    + */
    +static inline void tty_ldisc_put(struct tty_ldisc *ld)
    +{
    + unsigned long flags;
    +
    + if (WARN_ON_ONCE(!ld))
    + return;
    +
    + raw_spin_lock_irqsave(&tty_ldisc_lock, flags);
    +
    + /* unreleased reader reference(s) will cause this WARN */
    + WARN_ON(!atomic_dec_and_test(&ld->users));
    +
    + ld->ops->refcount--;
    + module_put(ld->ops->owner);
    + kfree(ld);
    + raw_spin_unlock_irqrestore(&tty_ldisc_lock, flags);
    +}
    +
    static void *tty_ldiscs_seq_start(struct seq_file *m, loff_t *pos)
    {
    return (*pos < NR_LDISCS) ? pos : NULL;
    @@ -329,29 +352,6 @@ void tty_ldisc_deref(struct tty_ldisc *ld)
    EXPORT_SYMBOL_GPL(tty_ldisc_deref);

    /**
    - * tty_ldisc_put - release the ldisc
    - *
    - * Complement of tty_ldisc_get().
    - */
    -static inline void tty_ldisc_put(struct tty_ldisc *ld)
    -{
    - unsigned long flags;
    -
    - if (WARN_ON_ONCE(!ld))
    - return;
    -
    - raw_spin_lock_irqsave(&tty_ldisc_lock, flags);
    -
    - /* unreleased reader reference(s) will cause this WARN */
    - WARN_ON(!atomic_dec_and_test(&ld->users));
    -
    - ld->ops->refcount--;
    - module_put(ld->ops->owner);
    - kfree(ld);
    - raw_spin_unlock_irqrestore(&tty_ldisc_lock, flags);
    -}
    -
    -/**
    * tty_ldisc_enable - allow ldisc use
    * @tty: terminal to activate ldisc on
    *
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-03-13 15:02    [W:5.540 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site