From: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
To: gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
"Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Subject: [PATCH 07/10] tty: tty_buffer: use __tty_insert_flip_string_flags() in tty_insert_flip_char()
Date: Wed, 16 Aug 2023 12:55:27 +0200 [thread overview]
Message-ID: <20230816105530.3335-8-jirislaby@kernel.org> (raw)
In-Reply-To: <20230816105530.3335-1-jirislaby@kernel.org>
Use __tty_insert_flip_string_flags() for the slow path of
tty_insert_flip_char(). The former is generic enough, so there is no
reason to reimplement the injection once again.
So now we have a single function stuffing into tty buffers.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
---
Documentation/driver-api/tty/tty_buffer.rst | 3 ++-
drivers/tty/tty_buffer.c | 26 ---------------------
include/linux/tty_flip.h | 12 +++++++---
3 files changed, 11 insertions(+), 30 deletions(-)
diff --git a/Documentation/driver-api/tty/tty_buffer.rst b/Documentation/driver-api/tty/tty_buffer.rst
index 774dc119c312..4b5ca1776d4f 100644
--- a/Documentation/driver-api/tty/tty_buffer.rst
+++ b/Documentation/driver-api/tty/tty_buffer.rst
@@ -15,11 +15,12 @@ Flip Buffer Management
======================
.. kernel-doc:: drivers/tty/tty_buffer.c
- :identifiers: tty_prepare_flip_string __tty_insert_flip_char
+ :identifiers: tty_prepare_flip_string
tty_flip_buffer_push tty_ldisc_receive_buf
.. kernel-doc:: include/linux/tty_flip.h
:identifiers: tty_insert_flip_string_fixed_flag tty_insert_flip_string_flags
+ tty_insert_flip_char
----
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index 4f84466498f7..e162318d6c31 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -343,32 +343,6 @@ size_t __tty_insert_flip_string_flags(struct tty_port *port, const u8 *chars,
}
EXPORT_SYMBOL(__tty_insert_flip_string_flags);
-/**
- * __tty_insert_flip_char - add one character to the tty buffer
- * @port: tty port
- * @ch: character
- * @flag: flag byte
- *
- * Queue a single byte @ch to the tty buffering, with an optional flag. This is
- * the slow path of tty_insert_flip_char().
- */
-int __tty_insert_flip_char(struct tty_port *port, u8 ch, u8 flag)
-{
- struct tty_buffer *tb;
- bool flags = flag != TTY_NORMAL;
-
- if (!__tty_buffer_request_room(port, 1, flags))
- return 0;
-
- tb = port->buf.tail;
- if (tb->flags)
- *flag_buf_ptr(tb, tb->used) = flag;
- *char_buf_ptr(tb, tb->used++) = ch;
-
- return 1;
-}
-EXPORT_SYMBOL(__tty_insert_flip_char);
-
/**
* tty_prepare_flip_string - make room for characters
* @port: tty port
diff --git a/include/linux/tty_flip.h b/include/linux/tty_flip.h
index efd03d9c11f8..af4fce98f64e 100644
--- a/include/linux/tty_flip.h
+++ b/include/linux/tty_flip.h
@@ -15,7 +15,6 @@ size_t __tty_insert_flip_string_flags(struct tty_port *port, const u8 *chars,
size_t size);
size_t tty_prepare_flip_string(struct tty_port *port, u8 **chars, size_t size);
void tty_flip_buffer_push(struct tty_port *port);
-int __tty_insert_flip_char(struct tty_port *port, u8 ch, u8 flag);
/**
* tty_insert_flip_string_fixed_flag - add characters to the tty buffer
@@ -55,7 +54,14 @@ static inline size_t tty_insert_flip_string_flags(struct tty_port *port,
return __tty_insert_flip_string_flags(port, chars, flags, true, size);
}
-
+/**
+ * tty_insert_flip_char - add one character to the tty buffer
+ * @port: tty port
+ * @ch: character
+ * @flag: flag byte
+ *
+ * Queue a single byte @ch to the tty buffering, with an optional flag.
+ */
static inline size_t tty_insert_flip_char(struct tty_port *port, u8 ch, u8 flag)
{
struct tty_buffer *tb = port->buf.tail;
@@ -68,7 +74,7 @@ static inline size_t tty_insert_flip_char(struct tty_port *port, u8 ch, u8 flag)
*char_buf_ptr(tb, tb->used++) = ch;
return 1;
}
- return __tty_insert_flip_char(port, ch, flag);
+ return __tty_insert_flip_string_flags(port, &ch, &flag, false, 1);
}
static inline size_t tty_insert_flip_string(struct tty_port *port,
--
2.41.0
next prev parent reply other threads:[~2023-08-16 10:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-16 10:55 [PATCH 00/10] tty: tty_buffer: cleanup Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 01/10] tty: tty_buffer: switch data type to u8 Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 02/10] tty: tty_buffer: use struct_size() in tty_buffer_alloc() Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 03/10] tty: tty_buffer: unify tty_insert_flip_string_{fixed_flag,flags}() Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 04/10] tty: tty_buffer: warn if losing flags in __tty_insert_flip_string_flags() Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 05/10] tty: tty_buffer: switch insert functions to size_t Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 06/10] tty: tty_buffer: let tty_prepare_flip_string() return size_t Jiri Slaby (SUSE)
2023-08-16 10:55 ` Jiri Slaby (SUSE) [this message]
2023-08-16 10:55 ` [PATCH 08/10] tty: tty_buffer: better types in __tty_buffer_request_room() Jiri Slaby (SUSE)
2023-08-16 10:55 ` [PATCH 09/10] tty: tty_buffer: initialize variables in initializers already Jiri Slaby (SUSE)
2023-08-22 12:56 ` Greg KH
2023-08-16 10:55 ` [PATCH 10/10] tty: tty_buffer: invert conditions in __tty_buffer_request_room() Jiri Slaby (SUSE)
2023-08-22 12:58 ` [PATCH 00/10] tty: tty_buffer: cleanup Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230816105530.3335-8-jirislaby@kernel.org \
--to=jirislaby@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).