Re: [Patch v8 1/6] tty: add new helper function tty_get_tiocm

From: Florian Eckert
Date: Tue Nov 21 2023 - 02:35:32 EST




On 2023-11-20 08:21, Jiri Slaby wrote:
On 09. 11. 23, 9:50, Florian Eckert wrote:
There is no in-kernel function to get the status register of a tty device
like the TIOCMGET ioctl returns to userspace. Create a new function,
tty_get_tiocm(), to obtain the status register that other portions of the
kernel can call if they need this information, and move the existing
internal tty_tiocmget() function to use this interface.

Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Florian Eckert <fe@xxxxxxxxxx>
---
drivers/tty/tty_io.c | 28 ++++++++++++++++++++++------
include/linux/tty.h | 1 +
2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index 06414e43e0b5..e2e93404133e 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -2498,6 +2498,24 @@ static int send_break(struct tty_struct *tty, unsigned int duration)
return retval;
}
+/**
+ * tty_get_tiocm - get tiocm status register
+ * @tty: tty device
+ *
+ * Obtain the modem status bits from the tty driver if the feature
+ * is supported.
+ */
+int tty_get_tiocm(struct tty_struct *tty)
+{
+ int retval = -ENOTTY;
+
+ if (tty->ops->tiocmget)
+ retval = tty->ops->tiocmget(tty);
+
+ return retval;

Why not simply:

I just did it this way because it is also done this way in other functions
in this file.

{
if (tty->ops->tiocmget)
return tty->ops->tiocmget(tty);

return -ENOTTY;
}

Of course, we could also do it this way. If this is the C style for the kernel,
then I will change it. Please give me a short feedback whether I should change it
and send a v9, or whether it is just a comment from you.

Best regards

Florian