tty: Add carrier processing on close to the tty_port core
Some drivers implement this internally, others miss it out. Push the behaviour into the core code as that way everyone will do it consistently. Update the dtr rts method to raise or lower depending upon flags. Having a single method in this style fits most of the implementations more cleanly than two funtions. We need this in place before we tackle the USB side Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@@ -772,11 +772,11 @@ static int stl_carrier_raised(struct tty_port *port)
|
||||
return (portp->sigs & TIOCM_CD) ? 1 : 0;
|
||||
}
|
||||
|
||||
static void stl_raise_dtr_rts(struct tty_port *port)
|
||||
static void stl_dtr_rts(struct tty_port *port, int on)
|
||||
{
|
||||
struct stlport *portp = container_of(port, struct stlport, port);
|
||||
/* Takes brd_lock internally */
|
||||
stl_setsignals(portp, 1, 1);
|
||||
stl_setsignals(portp, on, on);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -2547,7 +2547,7 @@ static const struct tty_operations stl_ops = {
|
||||
|
||||
static const struct tty_port_operations stl_port_ops = {
|
||||
.carrier_raised = stl_carrier_raised,
|
||||
.raise_dtr_rts = stl_raise_dtr_rts,
|
||||
.dtr_rts = stl_dtr_rts,
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
Reference in New Issue
Block a user