aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/tty_buffer.c
diff options
context:
space:
mode:
authorJiri Slaby <[email protected]>2022-07-07 08:25:57 +0000
committerGreg Kroah-Hartman <[email protected]>2022-07-08 13:16:28 +0000
commit716b10580283fda66f2b88140e3964f8a7f9da89 (patch)
treea62f706f26af88b29ec43537c4f953b83ec1f151 /drivers/tty/tty_buffer.c
parentserial: 8250: dw: Fix the macro RZN1_UART_xDMACR_8_WORD_BURST (diff)
downloadkernel-716b10580283fda66f2b88140e3964f8a7f9da89.tar.gz
kernel-716b10580283fda66f2b88140e3964f8a7f9da89.zip
tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push()
We will need this new helper in the next patch. Cc: Hillf Danton <[email protected]> Cc: 一只狗 <[email protected]> Cc: Dan Carpenter <[email protected]> Signed-off-by: Jiri Slaby <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/tty/tty_buffer.c')
-rw-r--r--drivers/tty/tty_buffer.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index bfa431a8e690..303a26c1b821 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -532,6 +532,15 @@ static void flush_to_ldisc(struct work_struct *work)
}
+static inline void tty_flip_buffer_commit(struct tty_buffer *tail)
+{
+ /*
+ * Paired w/ acquire in flush_to_ldisc(); ensures flush_to_ldisc() sees
+ * buffer data.
+ */
+ smp_store_release(&tail->commit, tail->used);
+}
+
/**
* tty_flip_buffer_push - push terminal buffers
* @port: tty port to push
@@ -546,11 +555,7 @@ void tty_flip_buffer_push(struct tty_port *port)
{
struct tty_bufhead *buf = &port->buf;
- /*
- * Paired w/ acquire in flush_to_ldisc(); ensures flush_to_ldisc() sees
- * buffer data.
- */
- smp_store_release(&buf->tail->commit, buf->tail->used);
+ tty_flip_buffer_commit(buf->tail);
queue_work(system_unbound_wq, &buf->work);
}
EXPORT_SYMBOL(tty_flip_buffer_push);