From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Cc: linux-s390@vger.kernel.org, gregkh@linuxfoundation.org,
heiko.carstens@de.ibm.com, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, brueckner@linux.vnet.com,
schwidefsky@de.ibm.com, jslaby@suse.cz
Subject: Re: [PATCH 1/2] tty/hvc_console: Add DTR/RTS callback to handle HUPCL control
Date: Fri, 11 Oct 2013 18:15:11 +1100 [thread overview]
Message-ID: <1381475711.5630.67.camel@pasglop> (raw)
In-Reply-To: <1372777635-10423-2-git-send-email-brueckner@linux.vnet.ibm.com>
On Tue, 2013-07-02 at 17:07 +0200, Hendrik Brueckner wrote:
> Introduce a new callback to explicitly handle the HUPCL termios control flag.
> This prepares for a follow-up commit for the hvc_iucv device driver to
> improve handling when to drop an established network connection.
>
> The callback naming is based on the recently added tty_port interface to
> facilitate a potential refactoring of the hvc_console to use tty_port
> functions.
I only just noticed that ... oops. Why add those dtr_rts() calls ? We
already have tiocmset in there which is used to set DTR on HVSI consoles
such as hvc_opal when using hvsi_lib...
Any reason why a separate callback was needed ?
Cheers,
Ben.
> Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
> ---
> drivers/tty/hvc/hvc_console.c | 11 ++++++++++-
> drivers/tty/hvc/hvc_console.h | 3 +++
> 2 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c
> index eb255e8..9eba119 100644
> --- a/drivers/tty/hvc/hvc_console.c
> +++ b/drivers/tty/hvc/hvc_console.c
> @@ -361,7 +361,12 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
> tty->driver_data = NULL;
> tty_port_put(&hp->port);
> printk(KERN_ERR "hvc_open: request_irq failed with rc %d.\n", rc);
> - }
> + } else
> + /* We are ready... raise DTR/RTS */
> + if (C_BAUD(tty))
> + if (hp->ops->dtr_rts)
> + hp->ops->dtr_rts(hp, 1);
> +
> /* Force wakeup of the polling thread */
> hvc_kick();
>
> @@ -393,6 +398,10 @@ static void hvc_close(struct tty_struct *tty, struct file * filp)
> /* We are done with the tty pointer now. */
> tty_port_tty_set(&hp->port, NULL);
>
> + if (C_HUPCL(tty))
> + if (hp->ops->dtr_rts)
> + hp->ops->dtr_rts(hp, 0);
> +
> if (hp->ops->notifier_del)
> hp->ops->notifier_del(hp, hp->data);
>
> diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h
> index 674d23c..9131019 100644
> --- a/drivers/tty/hvc/hvc_console.h
> +++ b/drivers/tty/hvc/hvc_console.h
> @@ -75,6 +75,9 @@ struct hv_ops {
> /* tiocmget/set implementation */
> int (*tiocmget)(struct hvc_struct *hp);
> int (*tiocmset)(struct hvc_struct *hp, unsigned int set, unsigned int clear);
> +
> + /* Callbacks to handle tty ports */
> + void (*dtr_rts)(struct hvc_struct *hp, int raise);
> };
>
> /* Register a vterm and a slot index for use as a console (console_init) */
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Cc: jslaby@suse.cz, gregkh@linuxfoundation.org,
brueckner@linux.vnet.com, heiko.carstens@de.ibm.com,
schwidefsky@de.ibm.com, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH 1/2] tty/hvc_console: Add DTR/RTS callback to handle HUPCL control
Date: Fri, 11 Oct 2013 18:15:11 +1100 [thread overview]
Message-ID: <1381475711.5630.67.camel@pasglop> (raw)
In-Reply-To: <1372777635-10423-2-git-send-email-brueckner@linux.vnet.ibm.com>
On Tue, 2013-07-02 at 17:07 +0200, Hendrik Brueckner wrote:
> Introduce a new callback to explicitly handle the HUPCL termios control flag.
> This prepares for a follow-up commit for the hvc_iucv device driver to
> improve handling when to drop an established network connection.
>
> The callback naming is based on the recently added tty_port interface to
> facilitate a potential refactoring of the hvc_console to use tty_port
> functions.
I only just noticed that ... oops. Why add those dtr_rts() calls ? We
already have tiocmset in there which is used to set DTR on HVSI consoles
such as hvc_opal when using hvsi_lib...
Any reason why a separate callback was needed ?
Cheers,
Ben.
> Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
> ---
> drivers/tty/hvc/hvc_console.c | 11 ++++++++++-
> drivers/tty/hvc/hvc_console.h | 3 +++
> 2 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c
> index eb255e8..9eba119 100644
> --- a/drivers/tty/hvc/hvc_console.c
> +++ b/drivers/tty/hvc/hvc_console.c
> @@ -361,7 +361,12 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
> tty->driver_data = NULL;
> tty_port_put(&hp->port);
> printk(KERN_ERR "hvc_open: request_irq failed with rc %d.\n", rc);
> - }
> + } else
> + /* We are ready... raise DTR/RTS */
> + if (C_BAUD(tty))
> + if (hp->ops->dtr_rts)
> + hp->ops->dtr_rts(hp, 1);
> +
> /* Force wakeup of the polling thread */
> hvc_kick();
>
> @@ -393,6 +398,10 @@ static void hvc_close(struct tty_struct *tty, struct file * filp)
> /* We are done with the tty pointer now. */
> tty_port_tty_set(&hp->port, NULL);
>
> + if (C_HUPCL(tty))
> + if (hp->ops->dtr_rts)
> + hp->ops->dtr_rts(hp, 0);
> +
> if (hp->ops->notifier_del)
> hp->ops->notifier_del(hp, hp->data);
>
> diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h
> index 674d23c..9131019 100644
> --- a/drivers/tty/hvc/hvc_console.h
> +++ b/drivers/tty/hvc/hvc_console.h
> @@ -75,6 +75,9 @@ struct hv_ops {
> /* tiocmget/set implementation */
> int (*tiocmget)(struct hvc_struct *hp);
> int (*tiocmset)(struct hvc_struct *hp, unsigned int set, unsigned int clear);
> +
> + /* Callbacks to handle tty ports */
> + void (*dtr_rts)(struct hvc_struct *hp, int raise);
> };
>
> /* Register a vterm and a slot index for use as a console (console_init) */
next prev parent reply other threads:[~2013-10-11 7:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-02 15:07 [PATCH 0/2] hvc_console: Add DTR/RTS callbacks to handle HUPCL conditions Hendrik Brueckner
2013-07-02 15:07 ` Hendrik Brueckner
2013-07-02 15:07 ` [PATCH 1/2] tty/hvc_console: Add DTR/RTS callback to handle HUPCL control Hendrik Brueckner
2013-07-02 15:07 ` Hendrik Brueckner
2013-10-11 7:15 ` Benjamin Herrenschmidt [this message]
2013-10-11 7:15 ` Benjamin Herrenschmidt
2013-10-11 12:47 ` Hendrik Brueckner
2013-10-11 12:47 ` Hendrik Brueckner
2013-10-11 20:43 ` Benjamin Herrenschmidt
2013-10-11 20:43 ` Benjamin Herrenschmidt
2013-10-15 15:36 ` Hendrik Brueckner
2013-10-15 15:36 ` Hendrik Brueckner
2013-10-15 20:47 ` Benjamin Herrenschmidt
2013-10-15 20:47 ` Benjamin Herrenschmidt
2013-10-16 9:04 ` Hendrik Brueckner
2013-10-16 9:04 ` Hendrik Brueckner
2013-10-16 23:21 ` Benjamin Herrenschmidt
2013-10-16 23:21 ` Benjamin Herrenschmidt
2013-10-17 8:16 ` Hendrik Brueckner
2013-10-17 8:16 ` Hendrik Brueckner
2013-07-02 15:07 ` [PATCH 2/2] tty/hvc_iucv: Disconnect IUCV connection when lowering DTR Hendrik Brueckner
2013-07-02 15:07 ` Hendrik Brueckner
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=1381475711.5630.67.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=brueckner@linux.vnet.com \
--cc=brueckner@linux.vnet.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=schwidefsky@de.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.