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 <[email protected]>
> Signed-off-by: Florian Eckert <[email protected]>
> ---
> 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:
{
if (tty->ops->tiocmget)
return tty->ops->tiocmget(tty);
return -ENOTTY;
}
?
thanks,
--
js
suse labs
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 <[email protected]>
>> Signed-off-by: Florian Eckert <[email protected]>
>> ---
>> 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