linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 01/13] tty: Cleanup tty_port_set_initialized() bool parameter
       [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
@ 2023-01-11 14:23 ` Ilpo Järvinen
  2023-01-11 14:23 ` [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool Ilpo Järvinen
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2023-01-11 14:23 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Jens Taprogge, Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger, Sven Schnelle, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-kernel, industrypack-devel, linux-s390, linux-arm-kernel,
	linux-usb
  Cc: Ilpo Järvinen

Make callers pass true/false consistently for bool val.

Reviewed-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/char/pcmcia/synclink_cs.c | 4 ++--
 drivers/ipack/devices/ipoctal.c   | 4 ++--
 drivers/s390/char/con3215.c       | 4 ++--
 drivers/tty/amiserial.c           | 4 ++--
 drivers/tty/moxa.c                | 2 +-
 drivers/tty/mxser.c               | 2 +-
 drivers/tty/n_gsm.c               | 4 ++--
 drivers/tty/serial/serial_core.c  | 6 +++---
 drivers/tty/synclink_gt.c         | 4 ++--
 drivers/tty/tty_port.c            | 4 ++--
 drivers/usb/serial/console.c      | 2 +-
 11 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index b2735be81ab2..baa46e8a094b 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -1309,7 +1309,7 @@ static int startup(MGSLPC_INFO * info, struct tty_struct *tty)
 	if (tty)
 		clear_bit(TTY_IO_ERROR, &tty->flags);
 
-	tty_port_set_initialized(&info->port, 1);
+	tty_port_set_initialized(&info->port, true);
 
 	return 0;
 }
@@ -1359,7 +1359,7 @@ static void shutdown(MGSLPC_INFO * info, struct tty_struct *tty)
 	if (tty)
 		set_bit(TTY_IO_ERROR, &tty->flags);
 
-	tty_port_set_initialized(&info->port, 0);
+	tty_port_set_initialized(&info->port, false);
 }
 
 static void mgslpc_program_hw(MGSLPC_INFO *info, struct tty_struct *tty)
diff --git a/drivers/ipack/devices/ipoctal.c b/drivers/ipack/devices/ipoctal.c
index fc00274070b6..103fce0c49e6 100644
--- a/drivers/ipack/devices/ipoctal.c
+++ b/drivers/ipack/devices/ipoctal.c
@@ -647,7 +647,7 @@ static void ipoctal_hangup(struct tty_struct *tty)
 	tty_port_hangup(&channel->tty_port);
 
 	ipoctal_reset_channel(channel);
-	tty_port_set_initialized(&channel->tty_port, 0);
+	tty_port_set_initialized(&channel->tty_port, false);
 	wake_up_interruptible(&channel->tty_port.open_wait);
 }
 
@@ -659,7 +659,7 @@ static void ipoctal_shutdown(struct tty_struct *tty)
 		return;
 
 	ipoctal_reset_channel(channel);
-	tty_port_set_initialized(&channel->tty_port, 0);
+	tty_port_set_initialized(&channel->tty_port, false);
 }
 
 static void ipoctal_cleanup(struct tty_struct *tty)
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
index 72ba83c1bc79..0b05cd76b7d0 100644
--- a/drivers/s390/char/con3215.c
+++ b/drivers/s390/char/con3215.c
@@ -629,7 +629,7 @@ static int raw3215_startup(struct raw3215_info *raw)
 	if (tty_port_initialized(&raw->port))
 		return 0;
 	raw->line_pos = 0;
-	tty_port_set_initialized(&raw->port, 1);
+	tty_port_set_initialized(&raw->port, true);
 	spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
 	raw3215_try_io(raw);
 	spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
@@ -659,7 +659,7 @@ static void raw3215_shutdown(struct raw3215_info *raw)
 		spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
 		remove_wait_queue(&raw->empty_wait, &wait);
 		set_current_state(TASK_RUNNING);
-		tty_port_set_initialized(&raw->port, 1);
+		tty_port_set_initialized(&raw->port, true);
 	}
 	spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
 }
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index f52266766df9..f8cdce1626cb 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -502,7 +502,7 @@ static int startup(struct tty_struct *tty, struct serial_state *info)
 	 */
 	change_speed(tty, info, NULL);
 
-	tty_port_set_initialized(port, 1);
+	tty_port_set_initialized(port, true);
 	local_irq_restore(flags);
 	return 0;
 
@@ -556,7 +556,7 @@ static void shutdown(struct tty_struct *tty, struct serial_state *info)
 
 	set_bit(TTY_IO_ERROR, &tty->flags);
 
-	tty_port_set_initialized(&info->tport, 0);
+	tty_port_set_initialized(&info->tport, false);
 	local_irq_restore(flags);
 }
 
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 35b6fddf0341..bc474f3c3f8f 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -1484,7 +1484,7 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)
 		MoxaPortLineCtrl(ch, 1, 1);
 		MoxaPortEnable(ch);
 		MoxaSetFifo(ch, ch->type == PORT_16550A);
-		tty_port_set_initialized(&ch->port, 1);
+		tty_port_set_initialized(&ch->port, true);
 	}
 	mutex_unlock(&ch->port.mutex);
 	mutex_unlock(&moxa_openlock);
diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
index 2436e0b10f9a..2926a831727d 100644
--- a/drivers/tty/mxser.c
+++ b/drivers/tty/mxser.c
@@ -1063,7 +1063,7 @@ static int mxser_set_serial_info(struct tty_struct *tty,
 	} else {
 		retval = mxser_activate(port, tty);
 		if (retval == 0)
-			tty_port_set_initialized(port, 1);
+			tty_port_set_initialized(port, true);
 	}
 	mutex_unlock(&port->mutex);
 	return retval;
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index daf12132deb1..631539c17d85 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2059,7 +2059,7 @@ static void gsm_dlci_close(struct gsm_dlci *dlci)
 		tty_port_tty_hangup(&dlci->port, false);
 		gsm_dlci_clear_queues(dlci->gsm, dlci);
 		/* Ensure that gsmtty_open() can return. */
-		tty_port_set_initialized(&dlci->port, 0);
+		tty_port_set_initialized(&dlci->port, false);
 		wake_up_interruptible(&dlci->port.open_wait);
 	} else
 		dlci->gsm->dead = true;
@@ -3880,7 +3880,7 @@ static int gsmtty_open(struct tty_struct *tty, struct file *filp)
 	dlci->modem_rx = 0;
 	/* We could in theory open and close before we wait - eg if we get
 	   a DM straight back. This is ok as that will have caused a hangup */
-	tty_port_set_initialized(port, 1);
+	tty_port_set_initialized(port, true);
 	/* Start sending off SABM messages */
 	if (gsm->initiator)
 		gsm_dlci_begin_open(dlci);
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index b9fbbee598b8..e049c760b738 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -290,7 +290,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
 		set_bit(TTY_IO_ERROR, &tty->flags);
 
 	if (tty_port_initialized(port)) {
-		tty_port_set_initialized(port, 0);
+		tty_port_set_initialized(port, false);
 
 		/*
 		 * Turn off DTR and RTS early.
@@ -2347,7 +2347,7 @@ int uart_suspend_port(struct uart_driver *drv, struct uart_port *uport)
 		unsigned int mctrl;
 
 		tty_port_set_suspended(port, 1);
-		tty_port_set_initialized(port, 0);
+		tty_port_set_initialized(port, false);
 
 		spin_lock_irq(&uport->lock);
 		ops->stop_tx(uport);
@@ -2458,7 +2458,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport)
 					uart_rs485_config(uport);
 				ops->start_tx(uport);
 				spin_unlock_irq(&uport->lock);
-				tty_port_set_initialized(port, 1);
+				tty_port_set_initialized(port, true);
 			} else {
 				/*
 				 * Failed to resume - maybe hardware went away?
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 72b76cdde534..2b96bf0ecafb 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -2354,7 +2354,7 @@ static int startup(struct slgt_info *info)
 	if (info->port.tty)
 		clear_bit(TTY_IO_ERROR, &info->port.tty->flags);
 
-	tty_port_set_initialized(&info->port, 1);
+	tty_port_set_initialized(&info->port, true);
 
 	return 0;
 }
@@ -2401,7 +2401,7 @@ static void shutdown(struct slgt_info *info)
 	if (info->port.tty)
 		set_bit(TTY_IO_ERROR, &info->port.tty->flags);
 
-	tty_port_set_initialized(&info->port, 0);
+	tty_port_set_initialized(&info->port, false);
 }
 
 static void program_hw(struct slgt_info *info)
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index dce08a6d7b5e..0c00d5bd6c88 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -367,7 +367,7 @@ static void tty_port_shutdown(struct tty_port *port, struct tty_struct *tty)
 		goto out;
 
 	if (tty_port_initialized(port)) {
-		tty_port_set_initialized(port, 0);
+		tty_port_set_initialized(port, false);
 		/*
 		 * Drop DTR/RTS if HUPCL is set. This causes any attached
 		 * modem to hang up the line.
@@ -788,7 +788,7 @@ int tty_port_open(struct tty_port *port, struct tty_struct *tty,
 				return retval;
 			}
 		}
-		tty_port_set_initialized(port, 1);
+		tty_port_set_initialized(port, true);
 	}
 	mutex_unlock(&port->mutex);
 	return tty_port_block_til_ready(port, tty, filp);
diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c
index da19a5fa414f..c3ea3a46ed76 100644
--- a/drivers/usb/serial/console.c
+++ b/drivers/usb/serial/console.c
@@ -169,7 +169,7 @@ static int usb_console_setup(struct console *co, char *options)
 			tty_save_termios(tty);
 			tty_kref_put(tty);
 		}
-		tty_port_set_initialized(&port->port, 1);
+		tty_port_set_initialized(&port->port, true);
 	}
 	/* Now that any required fake tty operations are completed restore
 	 * the tty port count */
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool
       [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
  2023-01-11 14:23 ` [PATCH v3 01/13] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
@ 2023-01-11 14:23 ` Ilpo Järvinen
  2023-01-11 17:25   ` Johan Hovold
  2023-01-13 11:50   ` Ulf Hansson
  2023-01-11 14:23 ` [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2023-01-11 14:23 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, linux-kernel, linux-mmc,
	linux-arm-kernel, linux-usb, linux-bluetooth, netdev
  Cc: Ilpo Järvinen

Return boolean from ->carrier_raised() instead of 0 and 1. Make the
return type change also to tty_port_carrier_raised() that makes the
->carrier_raised() call (+ cd variable in moxa into which its return
value is stored).

Also cleans up a few unnecessary constructs related to this change:

	return xx ? 1 : 0;
	-> return xx;

	if (xx)
		return 1;
	return 0;
	-> return xx;

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/char/pcmcia/synclink_cs.c | 8 +++-----
 drivers/mmc/core/sdio_uart.c      | 7 +++----
 drivers/tty/amiserial.c           | 2 +-
 drivers/tty/moxa.c                | 4 ++--
 drivers/tty/mxser.c               | 5 +++--
 drivers/tty/n_gsm.c               | 8 ++++----
 drivers/tty/serial/serial_core.c  | 9 ++++-----
 drivers/tty/synclink_gt.c         | 7 ++++---
 drivers/tty/tty_port.c            | 4 ++--
 drivers/usb/serial/ch341.c        | 7 +++----
 drivers/usb/serial/f81232.c       | 6 ++----
 drivers/usb/serial/pl2303.c       | 7 ++-----
 drivers/usb/serial/spcp8x5.c      | 7 ++-----
 drivers/usb/serial/usb-serial.c   | 4 ++--
 include/linux/tty_port.h          | 6 +++---
 include/linux/usb/serial.h        | 2 +-
 net/bluetooth/rfcomm/tty.c        | 2 +-
 17 files changed, 42 insertions(+), 53 deletions(-)

diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index baa46e8a094b..4391138e1b8a 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -377,7 +377,7 @@ static void async_mode(MGSLPC_INFO *info);
 
 static void tx_timeout(struct timer_list *t);
 
-static int carrier_raised(struct tty_port *port);
+static bool carrier_raised(struct tty_port *port);
 static void dtr_rts(struct tty_port *port, int onoff);
 
 #if SYNCLINK_GENERIC_HDLC
@@ -2430,7 +2430,7 @@ static void mgslpc_hangup(struct tty_struct *tty)
 	tty_port_hangup(&info->port);
 }
 
-static int carrier_raised(struct tty_port *port)
+static bool carrier_raised(struct tty_port *port)
 {
 	MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
 	unsigned long flags;
@@ -2439,9 +2439,7 @@ static int carrier_raised(struct tty_port *port)
 	get_signals(info);
 	spin_unlock_irqrestore(&info->lock, flags);
 
-	if (info->serial_signals & SerialSignal_DCD)
-		return 1;
-	return 0;
+	return info->serial_signals & SerialSignal_DCD;
 }
 
 static void dtr_rts(struct tty_port *port, int onoff)
diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
index ae7ef2e038be..47f58258d8ff 100644
--- a/drivers/mmc/core/sdio_uart.c
+++ b/drivers/mmc/core/sdio_uart.c
@@ -526,7 +526,7 @@ static void sdio_uart_irq(struct sdio_func *func)
 	port->in_sdio_uart_irq = NULL;
 }
 
-static int uart_carrier_raised(struct tty_port *tport)
+static bool uart_carrier_raised(struct tty_port *tport)
 {
 	struct sdio_uart_port *port =
 			container_of(tport, struct sdio_uart_port, port);
@@ -535,9 +535,8 @@ static int uart_carrier_raised(struct tty_port *tport)
 		return 1;
 	ret = sdio_uart_get_mctrl(port);
 	sdio_uart_release_func(port);
-	if (ret & TIOCM_CAR)
-		return 1;
-	return 0;
+
+	return ret & TIOCM_CAR;
 }
 
 /**
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index 460d33a1e70b..01c4fd3ce7c8 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -1454,7 +1454,7 @@ static const struct tty_operations serial_ops = {
 	.proc_show = rs_proc_show,
 };
 
-static int amiga_carrier_raised(struct tty_port *port)
+static bool amiga_carrier_raised(struct tty_port *port)
 {
 	return !(ciab.pra & SER_DCD);
 }
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 2d9635e14ded..6a1e78e33a2c 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -501,7 +501,7 @@ static int moxa_tiocmset(struct tty_struct *tty,
 static void moxa_poll(struct timer_list *);
 static void moxa_set_tty_param(struct tty_struct *, const struct ktermios *);
 static void moxa_shutdown(struct tty_port *);
-static int moxa_carrier_raised(struct tty_port *);
+static bool moxa_carrier_raised(struct tty_port *);
 static void moxa_dtr_rts(struct tty_port *, int);
 /*
  * moxa board interface functions:
@@ -1432,7 +1432,7 @@ static void moxa_shutdown(struct tty_port *port)
 	MoxaPortFlushData(ch, 2);
 }
 
-static int moxa_carrier_raised(struct tty_port *port)
+static bool moxa_carrier_raised(struct tty_port *port)
 {
 	struct moxa_port *ch = container_of(port, struct moxa_port, port);
 	int dcd;
diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
index 2926a831727d..96c72e691cd7 100644
--- a/drivers/tty/mxser.c
+++ b/drivers/tty/mxser.c
@@ -458,10 +458,11 @@ static void __mxser_stop_tx(struct mxser_port *info)
 	outb(info->IER, info->ioaddr + UART_IER);
 }
 
-static int mxser_carrier_raised(struct tty_port *port)
+static bool mxser_carrier_raised(struct tty_port *port)
 {
 	struct mxser_port *mp = container_of(port, struct mxser_port, port);
-	return (inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD)?1:0;
+
+	return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
 }
 
 static void mxser_dtr_rts(struct tty_port *port, int on)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 631539c17d85..81fc2ec3693f 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3770,16 +3770,16 @@ static int gsm_modem_update(struct gsm_dlci *dlci, u8 brk)
 	return -EPROTONOSUPPORT;
 }
 
-static int gsm_carrier_raised(struct tty_port *port)
+static bool gsm_carrier_raised(struct tty_port *port)
 {
 	struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
 	struct gsm_mux *gsm = dlci->gsm;
 
 	/* Not yet open so no carrier info */
 	if (dlci->state != DLCI_OPEN)
-		return 0;
+		return false;
 	if (debug & DBG_CD_ON)
-		return 1;
+		return true;
 
 	/*
 	 * Basic mode with control channel in ADM mode may not respond
@@ -3787,7 +3787,7 @@ static int gsm_carrier_raised(struct tty_port *port)
 	 */
 	if (gsm->encoding == GSM_BASIC_OPT &&
 	    gsm->dlci[0]->mode == DLCI_MODE_ADM && !dlci->modem_rx)
-		return 1;
+		return true;
 
 	return dlci->modem_rx & TIOCM_CD;
 }
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index f7074ac02801..20ed8a088b2d 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -1861,7 +1861,7 @@ static void uart_port_shutdown(struct tty_port *port)
 	}
 }
 
-static int uart_carrier_raised(struct tty_port *port)
+static bool uart_carrier_raised(struct tty_port *port)
 {
 	struct uart_state *state = container_of(port, struct uart_state, port);
 	struct uart_port *uport;
@@ -1875,15 +1875,14 @@ static int uart_carrier_raised(struct tty_port *port)
 	 * continue and not sleep
 	 */
 	if (WARN_ON(!uport))
-		return 1;
+		return true;
 	spin_lock_irq(&uport->lock);
 	uart_enable_ms(uport);
 	mctrl = uport->ops->get_mctrl(uport);
 	spin_unlock_irq(&uport->lock);
 	uart_port_deref(uport);
-	if (mctrl & TIOCM_CAR)
-		return 1;
-	return 0;
+
+	return mctrl & TIOCM_CAR;
 }
 
 static void uart_dtr_rts(struct tty_port *port, int raise)
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 81c94906f06e..4ba71ec764f7 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -3126,7 +3126,7 @@ static int tiocmset(struct tty_struct *tty,
 	return 0;
 }
 
-static int carrier_raised(struct tty_port *port)
+static bool carrier_raised(struct tty_port *port)
 {
 	unsigned long flags;
 	struct slgt_info *info = container_of(port, struct slgt_info, port);
@@ -3134,7 +3134,8 @@ static int carrier_raised(struct tty_port *port)
 	spin_lock_irqsave(&info->lock,flags);
 	get_gtsignals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
-	return (info->signals & SerialSignal_DCD) ? 1 : 0;
+
+	return info->signals & SerialSignal_DCD;
 }
 
 static void dtr_rts(struct tty_port *port, int on)
@@ -3162,7 +3163,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
 	int		retval;
 	bool		do_clocal = false;
 	unsigned long	flags;
-	int		cd;
+	bool		cd;
 	struct tty_port *port = &info->port;
 
 	DBGINFO(("%s block_til_ready\n", tty->driver->name));
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index 469de3c010b8..a573c500f95b 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -444,10 +444,10 @@ EXPORT_SYMBOL_GPL(tty_port_tty_wakeup);
  * to hide some internal details. This will eventually become entirely
  * internal to the tty port.
  */
-int tty_port_carrier_raised(struct tty_port *port)
+bool tty_port_carrier_raised(struct tty_port *port)
 {
 	if (port->ops->carrier_raised == NULL)
-		return 1;
+		return true;
 	return port->ops->carrier_raised(port);
 }
 EXPORT_SYMBOL(tty_port_carrier_raised);
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 6e1b87e67304..792f01a4ed22 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -413,12 +413,11 @@ static void ch341_port_remove(struct usb_serial_port *port)
 	kfree(priv);
 }
 
-static int ch341_carrier_raised(struct usb_serial_port *port)
+static bool ch341_carrier_raised(struct usb_serial_port *port)
 {
 	struct ch341_private *priv = usb_get_serial_port_data(port);
-	if (priv->msr & CH341_BIT_DCD)
-		return 1;
-	return 0;
+
+	return priv->msr & CH341_BIT_DCD;
 }
 
 static void ch341_dtr_rts(struct usb_serial_port *port, int on)
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index 891fb1fe69df..1a8c2925c26f 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial/f81232.c
@@ -774,7 +774,7 @@ static bool f81232_tx_empty(struct usb_serial_port *port)
 	return true;
 }
 
-static int f81232_carrier_raised(struct usb_serial_port *port)
+static bool f81232_carrier_raised(struct usb_serial_port *port)
 {
 	u8 msr;
 	struct f81232_private *priv = usb_get_serial_port_data(port);
@@ -783,9 +783,7 @@ static int f81232_carrier_raised(struct usb_serial_port *port)
 	msr = priv->modem_status;
 	mutex_unlock(&priv->lock);
 
-	if (msr & UART_MSR_DCD)
-		return 1;
-	return 0;
+	return msr & UART_MSR_DCD;
 }
 
 static void f81232_get_serial(struct tty_struct *tty, struct serial_struct *ss)
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 8949c1891164..4cb81746a149 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -1050,14 +1050,11 @@ static int pl2303_tiocmget(struct tty_struct *tty)
 	return result;
 }
 
-static int pl2303_carrier_raised(struct usb_serial_port *port)
+static bool pl2303_carrier_raised(struct usb_serial_port *port)
 {
 	struct pl2303_private *priv = usb_get_serial_port_data(port);
 
-	if (priv->line_status & UART_DCD)
-		return 1;
-
-	return 0;
+	return priv->line_status & UART_DCD;
 }
 
 static void pl2303_set_break(struct usb_serial_port *port, bool enable)
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index 09a972a838ee..8175db6c4554 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -247,16 +247,13 @@ static void spcp8x5_set_work_mode(struct usb_serial_port *port, u16 value,
 		dev_err(&port->dev, "failed to set work mode: %d\n", ret);
 }
 
-static int spcp8x5_carrier_raised(struct usb_serial_port *port)
+static bool spcp8x5_carrier_raised(struct usb_serial_port *port)
 {
 	u8 msr;
 	int ret;
 
 	ret = spcp8x5_get_msr(port, &msr);
-	if (ret || msr & MSR_STATUS_LINE_DCD)
-		return 1;
-
-	return 0;
+	return ret || msr & MSR_STATUS_LINE_DCD;
 }
 
 static void spcp8x5_dtr_rts(struct usb_serial_port *port, int on)
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 164521ee10c6..019720a63fac 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -754,7 +754,7 @@ static struct usb_serial_driver *search_serial_device(
 	return NULL;
 }
 
-static int serial_port_carrier_raised(struct tty_port *port)
+static bool serial_port_carrier_raised(struct tty_port *port)
 {
 	struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
 	struct usb_serial_driver *drv = p->serial->type;
@@ -762,7 +762,7 @@ static int serial_port_carrier_raised(struct tty_port *port)
 	if (drv->carrier_raised)
 		return drv->carrier_raised(p);
 	/* No carrier control - don't block */
-	return 1;
+	return true;
 }
 
 static void serial_port_dtr_rts(struct tty_port *port, int on)
diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
index fa3c3bdaa234..cf098459cb01 100644
--- a/include/linux/tty_port.h
+++ b/include/linux/tty_port.h
@@ -15,7 +15,7 @@ struct tty_struct;
 
 /**
  * struct tty_port_operations -- operations on tty_port
- * @carrier_raised: return 1 if the carrier is raised on @port
+ * @carrier_raised: return true if the carrier is raised on @port
  * @dtr_rts: raise the DTR line if @raise is nonzero, otherwise lower DTR
  * @shutdown: called when the last close completes or a hangup finishes IFF the
  *	port was initialized. Do not use to free resources. Turn off the device
@@ -31,7 +31,7 @@ struct tty_struct;
  *	the port itself.
  */
 struct tty_port_operations {
-	int (*carrier_raised)(struct tty_port *port);
+	bool (*carrier_raised)(struct tty_port *port);
 	void (*dtr_rts)(struct tty_port *port, int raise);
 	void (*shutdown)(struct tty_port *port);
 	int (*activate)(struct tty_port *port, struct tty_struct *tty);
@@ -230,7 +230,7 @@ static inline void tty_port_set_kopened(struct tty_port *port, bool val)
 
 struct tty_struct *tty_port_tty_get(struct tty_port *port);
 void tty_port_tty_set(struct tty_port *port, struct tty_struct *tty);
-int tty_port_carrier_raised(struct tty_port *port);
+bool tty_port_carrier_raised(struct tty_port *port);
 void tty_port_raise_dtr_rts(struct tty_port *port);
 void tty_port_lower_dtr_rts(struct tty_port *port);
 void tty_port_hangup(struct tty_port *port);
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
index f7bfedb740f5..dc7f90522b42 100644
--- a/include/linux/usb/serial.h
+++ b/include/linux/usb/serial.h
@@ -293,7 +293,7 @@ struct usb_serial_driver {
 	/* Called by the tty layer for port level work. There may or may not
 	   be an attached tty at this point */
 	void (*dtr_rts)(struct usb_serial_port *port, int on);
-	int  (*carrier_raised)(struct usb_serial_port *port);
+	bool (*carrier_raised)(struct usb_serial_port *port);
 	/* Called by the usb serial hooks to allow the user to rework the
 	   termios state */
 	void (*init_termios)(struct tty_struct *tty);
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index 8009e0e93216..5697df9d4394 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -119,7 +119,7 @@ static int rfcomm_dev_activate(struct tty_port *port, struct tty_struct *tty)
 }
 
 /* we block the open until the dlc->state becomes BT_CONNECTED */
-static int rfcomm_dev_carrier_raised(struct tty_port *port)
+static bool rfcomm_dev_carrier_raised(struct tty_port *port)
 {
 	struct rfcomm_dev *dev = container_of(port, struct rfcomm_dev, port);
 
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument
       [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
  2023-01-11 14:23 ` [PATCH v3 01/13] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
  2023-01-11 14:23 ` [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool Ilpo Järvinen
@ 2023-01-11 14:23 ` Ilpo Järvinen
  2023-01-11 17:26   ` Johan Hovold
  2023-01-13 11:50   ` Ulf Hansson
  2023-01-11 14:23 ` [PATCH v3 09/13] serial: Make uart_handle_cts_change() status param bool active Ilpo Järvinen
  2023-01-11 14:23 ` [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently Ilpo Järvinen
  4 siblings, 2 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2023-01-11 14:23 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Oliver Neukum, linux-kernel, linux-mmc, greybus-dev,
	linux-staging, linuxppc-dev, linux-arm-kernel, linux-usb
  Cc: Ilpo Järvinen

Convert the raise/on parameter in ->dtr_rts() to bool through the
callchain. The parameter is used like bool. In USB serial, there
remains a few implicit bool -> larger type conversions because some
devices use u8 in their control messages.

In moxa_tiocmget(), dtr variable was reused for line status which
requires int so use a separate variable for status.

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/char/pcmcia/synclink_cs.c    |  4 +--
 drivers/mmc/core/sdio_uart.c         |  4 +--
 drivers/staging/greybus/uart.c       |  2 +-
 drivers/tty/amiserial.c              |  2 +-
 drivers/tty/hvc/hvc_console.c        |  4 +--
 drivers/tty/hvc/hvc_console.h        |  2 +-
 drivers/tty/hvc/hvc_iucv.c           |  4 +--
 drivers/tty/moxa.c                   | 54 ++++++++++++++--------------
 drivers/tty/mxser.c                  |  2 +-
 drivers/tty/n_gsm.c                  |  2 +-
 drivers/tty/serial/serial_core.c     |  8 ++---
 drivers/tty/synclink_gt.c            |  2 +-
 drivers/tty/tty_port.c               |  4 +--
 drivers/usb/class/cdc-acm.c          |  2 +-
 drivers/usb/serial/ch341.c           |  2 +-
 drivers/usb/serial/cp210x.c          |  4 +--
 drivers/usb/serial/cypress_m8.c      |  6 ++--
 drivers/usb/serial/digi_acceleport.c |  6 ++--
 drivers/usb/serial/f81232.c          |  2 +-
 drivers/usb/serial/f81534.c          |  2 +-
 drivers/usb/serial/ftdi_sio.c        |  2 +-
 drivers/usb/serial/ipw.c             |  2 +-
 drivers/usb/serial/keyspan.c         |  2 +-
 drivers/usb/serial/keyspan_pda.c     |  2 +-
 drivers/usb/serial/mct_u232.c        |  4 +--
 drivers/usb/serial/mxuport.c         |  2 +-
 drivers/usb/serial/pl2303.c          |  2 +-
 drivers/usb/serial/quatech2.c        |  2 +-
 drivers/usb/serial/sierra.c          |  2 +-
 drivers/usb/serial/spcp8x5.c         |  2 +-
 drivers/usb/serial/ssu100.c          |  2 +-
 drivers/usb/serial/upd78f0730.c      |  6 ++--
 drivers/usb/serial/usb-serial.c      |  2 +-
 drivers/usb/serial/usb-wwan.h        |  2 +-
 drivers/usb/serial/usb_wwan.c        |  2 +-
 drivers/usb/serial/xr_serial.c       |  6 ++--
 include/linux/tty_port.h             |  4 +--
 include/linux/usb/serial.h           |  2 +-
 38 files changed, 84 insertions(+), 82 deletions(-)

diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 4391138e1b8a..46a0b586d234 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -378,7 +378,7 @@ static void async_mode(MGSLPC_INFO *info);
 static void tx_timeout(struct timer_list *t);
 
 static bool carrier_raised(struct tty_port *port);
-static void dtr_rts(struct tty_port *port, int onoff);
+static void dtr_rts(struct tty_port *port, bool onoff);
 
 #if SYNCLINK_GENERIC_HDLC
 #define dev_to_port(D) (dev_to_hdlc(D)->priv)
@@ -2442,7 +2442,7 @@ static bool carrier_raised(struct tty_port *port)
 	return info->serial_signals & SerialSignal_DCD;
 }
 
-static void dtr_rts(struct tty_port *port, int onoff)
+static void dtr_rts(struct tty_port *port, bool onoff)
 {
 	MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
 	unsigned long flags;
diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
index 47f58258d8ff..c6b4b2b2a4b2 100644
--- a/drivers/mmc/core/sdio_uart.c
+++ b/drivers/mmc/core/sdio_uart.c
@@ -548,14 +548,14 @@ static bool uart_carrier_raised(struct tty_port *tport)
  *	adjusted during an open, close and hangup.
  */
 
-static void uart_dtr_rts(struct tty_port *tport, int onoff)
+static void uart_dtr_rts(struct tty_port *tport, bool onoff)
 {
 	struct sdio_uart_port *port =
 			container_of(tport, struct sdio_uart_port, port);
 	int ret = sdio_uart_claim_func(port);
 	if (ret)
 		return;
-	if (onoff == 0)
+	if (!onoff)
 		sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
 	else
 		sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c
index 90ff07f2cbf7..92d49740d5a4 100644
--- a/drivers/staging/greybus/uart.c
+++ b/drivers/staging/greybus/uart.c
@@ -701,7 +701,7 @@ static int gb_tty_ioctl(struct tty_struct *tty, unsigned int cmd,
 	return -ENOIOCTLCMD;
 }
 
-static void gb_tty_dtr_rts(struct tty_port *port, int on)
+static void gb_tty_dtr_rts(struct tty_port *port, bool on)
 {
 	struct gb_tty *gb_tty;
 	u8 newctrl;
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index 01c4fd3ce7c8..29d4c554f6b8 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -1459,7 +1459,7 @@ static bool amiga_carrier_raised(struct tty_port *port)
 	return !(ciab.pra & SER_DCD);
 }
 
-static void amiga_dtr_rts(struct tty_port *port, int raise)
+static void amiga_dtr_rts(struct tty_port *port, bool raise)
 {
 	struct serial_state *info = container_of(port, struct serial_state,
 			tport);
diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c
index a683e21df19c..10c10cfdf92a 100644
--- a/drivers/tty/hvc/hvc_console.c
+++ b/drivers/tty/hvc/hvc_console.c
@@ -376,7 +376,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
 		/* We are ready... raise DTR/RTS */
 		if (C_BAUD(tty))
 			if (hp->ops->dtr_rts)
-				hp->ops->dtr_rts(hp, 1);
+				hp->ops->dtr_rts(hp, true);
 		tty_port_set_initialized(&hp->port, true);
 	}
 
@@ -406,7 +406,7 @@ static void hvc_close(struct tty_struct *tty, struct file * filp)
 
 		if (C_HUPCL(tty))
 			if (hp->ops->dtr_rts)
-				hp->ops->dtr_rts(hp, 0);
+				hp->ops->dtr_rts(hp, false);
 
 		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 18d005814e4b..6d3428bf868f 100644
--- a/drivers/tty/hvc/hvc_console.h
+++ b/drivers/tty/hvc/hvc_console.h
@@ -66,7 +66,7 @@ struct hv_ops {
 	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);
+	void (*dtr_rts)(struct hvc_struct *hp, bool raise);
 };
 
 /* Register a vterm and a slot index for use as a console (console_init) */
diff --git a/drivers/tty/hvc/hvc_iucv.c b/drivers/tty/hvc/hvc_iucv.c
index 7d49a872de48..fe862a6882d6 100644
--- a/drivers/tty/hvc/hvc_iucv.c
+++ b/drivers/tty/hvc/hvc_iucv.c
@@ -658,13 +658,13 @@ static void hvc_iucv_notifier_hangup(struct hvc_struct *hp, int id)
 /**
  * hvc_iucv_dtr_rts() - HVC notifier for handling DTR/RTS
  * @hp:		Pointer the HVC device (struct hvc_struct)
- * @raise:	Non-zero to raise or zero to lower DTR/RTS lines
+ * @raise:	True to raise or false to lower DTR/RTS lines
  *
  * This routine notifies the HVC back-end to raise or lower DTR/RTS
  * lines.  Raising DTR/RTS is ignored.  Lowering DTR/RTS indicates to
  * drop the IUCV connection (similar to hang up the modem).
  */
-static void hvc_iucv_dtr_rts(struct hvc_struct *hp, int raise)
+static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
 {
 	struct hvc_iucv_private *priv;
 	struct iucv_path        *path;
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 6a1e78e33a2c..9be3d585d5a9 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -502,15 +502,15 @@ static void moxa_poll(struct timer_list *);
 static void moxa_set_tty_param(struct tty_struct *, const struct ktermios *);
 static void moxa_shutdown(struct tty_port *);
 static bool moxa_carrier_raised(struct tty_port *);
-static void moxa_dtr_rts(struct tty_port *, int);
+static void moxa_dtr_rts(struct tty_port *, bool);
 /*
  * moxa board interface functions:
  */
 static void MoxaPortEnable(struct moxa_port *);
 static void MoxaPortDisable(struct moxa_port *);
 static int MoxaPortSetTermio(struct moxa_port *, struct ktermios *, speed_t);
-static int MoxaPortGetLineOut(struct moxa_port *, int *, int *);
-static void MoxaPortLineCtrl(struct moxa_port *, int, int);
+static int MoxaPortGetLineOut(struct moxa_port *, bool *, bool *);
+static void MoxaPortLineCtrl(struct moxa_port *, bool, bool);
 static void MoxaPortFlowCtrl(struct moxa_port *, int, int, int, int, int);
 static int MoxaPortLineStatus(struct moxa_port *);
 static void MoxaPortFlushData(struct moxa_port *, int);
@@ -1443,7 +1443,7 @@ static bool moxa_carrier_raised(struct tty_port *port)
 	return dcd;
 }
 
-static void moxa_dtr_rts(struct tty_port *port, int onoff)
+static void moxa_dtr_rts(struct tty_port *port, bool onoff)
 {
 	struct moxa_port *ch = container_of(port, struct moxa_port, port);
 	MoxaPortLineCtrl(ch, onoff, onoff);
@@ -1481,7 +1481,7 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)
 	if (!tty_port_initialized(&ch->port)) {
 		ch->statusflags = 0;
 		moxa_set_tty_param(tty, &tty->termios);
-		MoxaPortLineCtrl(ch, 1, 1);
+		MoxaPortLineCtrl(ch, true, true);
 		MoxaPortEnable(ch);
 		MoxaSetFifo(ch, ch->type == PORT_16550A);
 		tty_port_set_initialized(&ch->port, true);
@@ -1557,19 +1557,21 @@ static unsigned int moxa_chars_in_buffer(struct tty_struct *tty)
 static int moxa_tiocmget(struct tty_struct *tty)
 {
 	struct moxa_port *ch = tty->driver_data;
-	int flag = 0, dtr, rts;
+	bool dtr, rts;
+	int flag = 0;
+	int status;
 
 	MoxaPortGetLineOut(ch, &dtr, &rts);
 	if (dtr)
 		flag |= TIOCM_DTR;
 	if (rts)
 		flag |= TIOCM_RTS;
-	dtr = MoxaPortLineStatus(ch);
-	if (dtr & 1)
+	status = MoxaPortLineStatus(ch);
+	if (status & 1)
 		flag |= TIOCM_CTS;
-	if (dtr & 2)
+	if (status & 2)
 		flag |= TIOCM_DSR;
-	if (dtr & 4)
+	if (status & 4)
 		flag |= TIOCM_CD;
 	return flag;
 }
@@ -1578,7 +1580,7 @@ static int moxa_tiocmset(struct tty_struct *tty,
 			 unsigned int set, unsigned int clear)
 {
 	struct moxa_port *ch;
-	int dtr, rts;
+	bool dtr, rts;
 
 	mutex_lock(&moxa_openlock);
 	ch = tty->driver_data;
@@ -1589,13 +1591,13 @@ static int moxa_tiocmset(struct tty_struct *tty,
 
 	MoxaPortGetLineOut(ch, &dtr, &rts);
 	if (set & TIOCM_RTS)
-		rts = 1;
+		rts = true;
 	if (set & TIOCM_DTR)
-		dtr = 1;
+		dtr = true;
 	if (clear & TIOCM_RTS)
-		rts = 0;
+		rts = false;
 	if (clear & TIOCM_DTR)
-		dtr = 0;
+		dtr = false;
 	MoxaPortLineCtrl(ch, dtr, rts);
 	mutex_unlock(&moxa_openlock);
 	return 0;
@@ -1877,12 +1879,12 @@ static void MoxaPortFlushData(struct moxa_port *port, int mode)
  *
  *      Function 13:    Get the DTR/RTS state of this port.
  *      Syntax:
- *      int  MoxaPortGetLineOut(int port, int *dtrState, int *rtsState);
+ *      int  MoxaPortGetLineOut(int port, bool *dtrState, bool *rtsState);
  *           int port           : port number (0 - 127)
- *           int * dtrState     : pointer to INT to receive the current DTR
+ *           bool * dtrState    : pointer to bool to receive the current DTR
  *                                state. (if NULL, this function will not
  *                                write to this address)
- *           int * rtsState     : pointer to INT to receive the current RTS
+ *           bool * rtsState    : pointer to bool to receive the current RTS
  *                                state. (if NULL, this function will not
  *                                write to this address)
  *
@@ -1892,10 +1894,10 @@ static void MoxaPortFlushData(struct moxa_port *port, int mode)
  *
  *      Function 14:    Setting the DTR/RTS output state of this port.
  *      Syntax:
- *      void MoxaPortLineCtrl(int port, int dtrState, int rtsState);
+ *      void MoxaPortLineCtrl(int port, bool dtrState, bool rtsState);
  *           int port           : port number (0 - 127)
- *           int dtrState       : DTR output state (0: off, 1: on)
- *           int rtsState       : RTS output state (0: off, 1: on)
+ *           bool dtrState      : DTR output state
+ *           bool rtsState      : RTS output state
  *
  *
  *      Function 15:    Setting the flow control of this port.
@@ -2103,18 +2105,18 @@ static int MoxaPortSetTermio(struct moxa_port *port, struct ktermios *termio,
 	return baud;
 }
 
-static int MoxaPortGetLineOut(struct moxa_port *port, int *dtrState,
-		int *rtsState)
+static int MoxaPortGetLineOut(struct moxa_port *port, bool *dtrState,
+		bool *rtsState)
 {
 	if (dtrState)
-		*dtrState = !!(port->lineCtrl & DTR_ON);
+		*dtrState = port->lineCtrl & DTR_ON;
 	if (rtsState)
-		*rtsState = !!(port->lineCtrl & RTS_ON);
+		*rtsState = port->lineCtrl & RTS_ON;
 
 	return 0;
 }
 
-static void MoxaPortLineCtrl(struct moxa_port *port, int dtr, int rts)
+static void MoxaPortLineCtrl(struct moxa_port *port, bool dtr, bool rts)
 {
 	u8 mode = 0;
 
diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
index 96c72e691cd7..d4fb11e39bb1 100644
--- a/drivers/tty/mxser.c
+++ b/drivers/tty/mxser.c
@@ -465,7 +465,7 @@ static bool mxser_carrier_raised(struct tty_port *port)
 	return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
 }
 
-static void mxser_dtr_rts(struct tty_port *port, int on)
+static void mxser_dtr_rts(struct tty_port *port, bool on)
 {
 	struct mxser_port *mp = container_of(port, struct mxser_port, port);
 	unsigned long flags;
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 81fc2ec3693f..8dd0d6441c42 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3792,7 +3792,7 @@ static bool gsm_carrier_raised(struct tty_port *port)
 	return dlci->modem_rx & TIOCM_CD;
 }
 
-static void gsm_dtr_rts(struct tty_port *port, int onoff)
+static void gsm_dtr_rts(struct tty_port *port, bool onoff)
 {
 	struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
 	unsigned int modem_tx = dlci->modem_tx;
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 20ed8a088b2d..053535846ba2 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -169,7 +169,7 @@ uart_update_mctrl(struct uart_port *port, unsigned int set, unsigned int clear)
 #define uart_set_mctrl(port, set)	uart_update_mctrl(port, set, 0)
 #define uart_clear_mctrl(port, clear)	uart_update_mctrl(port, 0, clear)
 
-static void uart_port_dtr_rts(struct uart_port *uport, int raise)
+static void uart_port_dtr_rts(struct uart_port *uport, bool raise)
 {
 	if (raise)
 		uart_set_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
@@ -239,7 +239,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
 		 * port is open and ready to respond.
 		 */
 		if (init_hw && C_BAUD(tty))
-			uart_port_dtr_rts(uport, 1);
+			uart_port_dtr_rts(uport, true);
 	}
 
 	/*
@@ -302,7 +302,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
 		}
 
 		if (!tty || C_HUPCL(tty))
-			uart_port_dtr_rts(uport, 0);
+			uart_port_dtr_rts(uport, false);
 
 		uart_port_shutdown(port);
 	}
@@ -1885,7 +1885,7 @@ static bool uart_carrier_raised(struct tty_port *port)
 	return mctrl & TIOCM_CAR;
 }
 
-static void uart_dtr_rts(struct tty_port *port, int raise)
+static void uart_dtr_rts(struct tty_port *port, bool raise)
 {
 	struct uart_state *state = container_of(port, struct uart_state, port);
 	struct uart_port *uport;
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 4ba71ec764f7..2b786265ce7b 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -3138,7 +3138,7 @@ static bool carrier_raised(struct tty_port *port)
 	return info->signals & SerialSignal_DCD;
 }
 
-static void dtr_rts(struct tty_port *port, int on)
+static void dtr_rts(struct tty_port *port, bool on)
 {
 	unsigned long flags;
 	struct slgt_info *info = container_of(port, struct slgt_info, port);
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index a573c500f95b..a788a6bf487d 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -463,7 +463,7 @@ EXPORT_SYMBOL(tty_port_carrier_raised);
 void tty_port_raise_dtr_rts(struct tty_port *port)
 {
 	if (port->ops->dtr_rts)
-		port->ops->dtr_rts(port, 1);
+		port->ops->dtr_rts(port, true);
 }
 EXPORT_SYMBOL(tty_port_raise_dtr_rts);
 
@@ -478,7 +478,7 @@ EXPORT_SYMBOL(tty_port_raise_dtr_rts);
 void tty_port_lower_dtr_rts(struct tty_port *port)
 {
 	if (port->ops->dtr_rts)
-		port->ops->dtr_rts(port, 0);
+		port->ops->dtr_rts(port, false);
 }
 EXPORT_SYMBOL(tty_port_lower_dtr_rts);
 
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 36bf051b345b..d4f9220b8162 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -651,7 +651,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
 	return tty_port_open(&acm->port, tty, filp);
 }
 
-static void acm_port_dtr_rts(struct tty_port *port, int raise)
+static void acm_port_dtr_rts(struct tty_port *port, bool raise)
 {
 	struct acm *acm = container_of(port, struct acm, port);
 	int val;
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 792f01a4ed22..98ec4fe46914 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -420,7 +420,7 @@ static bool ch341_carrier_raised(struct usb_serial_port *port)
 	return priv->msr & CH341_BIT_DCD;
 }
 
-static void ch341_dtr_rts(struct usb_serial_port *port, int on)
+static void ch341_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct ch341_private *priv = usb_get_serial_port_data(port);
 	unsigned long flags;
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index 67372acc2352..fe2cdc477fb9 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -45,7 +45,7 @@ static void cp210x_disconnect(struct usb_serial *);
 static void cp210x_release(struct usb_serial *);
 static int cp210x_port_probe(struct usb_serial_port *);
 static void cp210x_port_remove(struct usb_serial_port *);
-static void cp210x_dtr_rts(struct usb_serial_port *port, int on);
+static void cp210x_dtr_rts(struct usb_serial_port *port, bool on);
 static void cp210x_process_read_urb(struct urb *urb);
 static void cp210x_enable_event_mode(struct usb_serial_port *port);
 static void cp210x_disable_event_mode(struct usb_serial_port *port);
@@ -1402,7 +1402,7 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port,
 	return ret;
 }
 
-static void cp210x_dtr_rts(struct usb_serial_port *port, int on)
+static void cp210x_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	if (on)
 		cp210x_tiocmset_port(port, TIOCM_DTR | TIOCM_RTS, 0);
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 1e0c028c5ec9..7c6060c17ee0 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -118,7 +118,7 @@ static int  cypress_ca42v2_port_probe(struct usb_serial_port *port);
 static void cypress_port_remove(struct usb_serial_port *port);
 static int  cypress_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void cypress_close(struct usb_serial_port *port);
-static void cypress_dtr_rts(struct usb_serial_port *port, int on);
+static void cypress_dtr_rts(struct usb_serial_port *port, bool on);
 static int  cypress_write(struct tty_struct *tty, struct usb_serial_port *port,
 			const unsigned char *buf, int count);
 static void cypress_send(struct usb_serial_port *port);
@@ -621,12 +621,12 @@ static int cypress_open(struct tty_struct *tty, struct usb_serial_port *port)
 	return result;
 } /* cypress_open */
 
-static void cypress_dtr_rts(struct usb_serial_port *port, int on)
+static void cypress_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct cypress_private *priv = usb_get_serial_port_data(port);
 	/* drop dtr and rts */
 	spin_lock_irq(&priv->lock);
-	if (on == 0)
+	if (!on)
 		priv->line_control = 0;
 	else 
 		priv->line_control = CONTROL_DTR | CONTROL_RTS;
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 45d688e9b93f..890e446273d7 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -228,7 +228,7 @@ static unsigned int digi_write_room(struct tty_struct *tty);
 static unsigned int digi_chars_in_buffer(struct tty_struct *tty);
 static int digi_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void digi_close(struct usb_serial_port *port);
-static void digi_dtr_rts(struct usb_serial_port *port, int on);
+static void digi_dtr_rts(struct usb_serial_port *port, bool on);
 static int digi_startup_device(struct usb_serial *serial);
 static int digi_startup(struct usb_serial *serial);
 static void digi_disconnect(struct usb_serial *serial);
@@ -1060,10 +1060,10 @@ static unsigned int digi_chars_in_buffer(struct tty_struct *tty)
 	return chars;
 }
 
-static void digi_dtr_rts(struct usb_serial_port *port, int on)
+static void digi_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	/* Adjust DTR and RTS */
-	digi_set_modem_signals(port, on * (TIOCM_DTR | TIOCM_RTS), 1);
+	digi_set_modem_signals(port, on ? (TIOCM_DTR | TIOCM_RTS) : 0, 1);
 }
 
 static int digi_open(struct tty_struct *tty, struct usb_serial_port *port)
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index 1a8c2925c26f..1656be847460 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial/f81232.c
@@ -752,7 +752,7 @@ static void f81232_close(struct usb_serial_port *port)
 	flush_work(&port_priv->lsr_work);
 }
 
-static void f81232_dtr_rts(struct usb_serial_port *port, int on)
+static void f81232_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	if (on)
 		f81232_set_mctrl(port, TIOCM_DTR | TIOCM_RTS, 0);
diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c
index 4083ae961be4..8b44b08752d6 100644
--- a/drivers/usb/serial/f81534.c
+++ b/drivers/usb/serial/f81534.c
@@ -1456,7 +1456,7 @@ static int f81534_tiocmset(struct tty_struct *tty, unsigned int set,
 	return f81534_update_mctrl(port, set, clear);
 }
 
-static void f81534_dtr_rts(struct usb_serial_port *port, int on)
+static void f81534_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	if (on)
 		f81534_update_mctrl(port, TIOCM_DTR | TIOCM_RTS, 0);
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 05e28a5ce42b..09bdf623e94e 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2366,7 +2366,7 @@ static int ftdi_open(struct tty_struct *tty, struct usb_serial_port *port)
 	return usb_serial_generic_open(tty, port);
 }
 
-static void ftdi_dtr_rts(struct usb_serial_port *port, int on)
+static void ftdi_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct ftdi_private *priv = usb_get_serial_port_data(port);
 
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
index d04c7cc5c1c2..b1b7a033cc75 100644
--- a/drivers/usb/serial/ipw.c
+++ b/drivers/usb/serial/ipw.c
@@ -215,7 +215,7 @@ static void ipw_release(struct usb_serial *serial)
 	kfree(data);
 }
 
-static void ipw_dtr_rts(struct usb_serial_port *port, int on)
+static void ipw_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct usb_device *udev = port->serial->dev;
 	struct device *dev = &port->dev;
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
index 2966e0c4941e..7e375367354b 100644
--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -1564,7 +1564,7 @@ static int keyspan_open(struct tty_struct *tty, struct usb_serial_port *port)
 	return 0;
 }
 
-static void keyspan_dtr_rts(struct usb_serial_port *port, int on)
+static void keyspan_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct keyspan_port_private *p_priv = usb_get_serial_port_data(port);
 
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
index 6fd15cd9e1eb..cb16c4bc8555 100644
--- a/drivers/usb/serial/keyspan_pda.c
+++ b/drivers/usb/serial/keyspan_pda.c
@@ -551,7 +551,7 @@ static int keyspan_pda_write(struct tty_struct *tty, struct usb_serial_port *por
 	return count;
 }
 
-static void keyspan_pda_dtr_rts(struct usb_serial_port *port, int on)
+static void keyspan_pda_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct usb_serial *serial = port->serial;
 
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index d3852feb81a4..eb3520490dd2 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -42,7 +42,7 @@ static int  mct_u232_port_probe(struct usb_serial_port *port);
 static void mct_u232_port_remove(struct usb_serial_port *remove);
 static int  mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void mct_u232_close(struct usb_serial_port *port);
-static void mct_u232_dtr_rts(struct usb_serial_port *port, int on);
+static void mct_u232_dtr_rts(struct usb_serial_port *port, bool on);
 static void mct_u232_read_int_callback(struct urb *urb);
 static void mct_u232_set_termios(struct tty_struct *tty,
 				 struct usb_serial_port *port,
@@ -477,7 +477,7 @@ static int  mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port)
 	return retval;
 } /* mct_u232_open */
 
-static void mct_u232_dtr_rts(struct usb_serial_port *port, int on)
+static void mct_u232_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	unsigned int control_state;
 	struct mct_u232_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/mxuport.c b/drivers/usb/serial/mxuport.c
index faa0eedfe245..ac7594635719 100644
--- a/drivers/usb/serial/mxuport.c
+++ b/drivers/usb/serial/mxuport.c
@@ -674,7 +674,7 @@ static int mxuport_set_rts(struct usb_serial_port *port, u8 state)
 	return err;
 }
 
-static void mxuport_dtr_rts(struct usb_serial_port *port, int on)
+static void mxuport_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct mxuport_port *mxport = usb_get_serial_port_data(port);
 	u8 mcr_state;
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 4cb81746a149..cb20911f35bb 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -931,7 +931,7 @@ static void pl2303_set_termios(struct tty_struct *tty,
 	kfree(buf);
 }
 
-static void pl2303_dtr_rts(struct usb_serial_port *port, int on)
+static void pl2303_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct pl2303_private *priv = usb_get_serial_port_data(port);
 	unsigned long flags;
diff --git a/drivers/usb/serial/quatech2.c b/drivers/usb/serial/quatech2.c
index 6fca40ace83a..6fd329ffec7e 100644
--- a/drivers/usb/serial/quatech2.c
+++ b/drivers/usb/serial/quatech2.c
@@ -770,7 +770,7 @@ static void qt2_break_ctl(struct tty_struct *tty, int break_state)
 
 
 
-static void qt2_dtr_rts(struct usb_serial_port *port, int on)
+static void qt2_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct usb_device *dev = port->serial->dev;
 	struct qt2_port_private *port_priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index 353b2549eaa8..f2c3a7af1a4a 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -813,7 +813,7 @@ static int sierra_open(struct tty_struct *tty, struct usb_serial_port *port)
 }
 
 
-static void sierra_dtr_rts(struct usb_serial_port *port, int on)
+static void sierra_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct sierra_port_private *portdata;
 
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index 8175db6c4554..02402ea3bd1b 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -256,7 +256,7 @@ static bool spcp8x5_carrier_raised(struct usb_serial_port *port)
 	return ret || msr & MSR_STATUS_LINE_DCD;
 }
 
-static void spcp8x5_dtr_rts(struct usb_serial_port *port, int on)
+static void spcp8x5_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct spcp8x5_private *priv = usb_get_serial_port_data(port);
 	unsigned long flags;
diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c
index 1e1888b66305..4cff39895804 100644
--- a/drivers/usb/serial/ssu100.c
+++ b/drivers/usb/serial/ssu100.c
@@ -385,7 +385,7 @@ static int ssu100_tiocmset(struct tty_struct *tty,
 	return update_mctrl(dev, set, clear);
 }
 
-static void ssu100_dtr_rts(struct usb_serial_port *port, int on)
+static void ssu100_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct usb_device *dev = port->serial->dev;
 
diff --git a/drivers/usb/serial/upd78f0730.c b/drivers/usb/serial/upd78f0730.c
index c47439bd90fa..206749fe3263 100644
--- a/drivers/usb/serial/upd78f0730.c
+++ b/drivers/usb/serial/upd78f0730.c
@@ -262,7 +262,7 @@ static void upd78f0730_break_ctl(struct tty_struct *tty, int break_state)
 	mutex_unlock(&private->lock);
 }
 
-static void upd78f0730_dtr_rts(struct usb_serial_port *port, int on)
+static void upd78f0730_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct tty_struct *tty = port->port.tty;
 	unsigned int set = 0;
@@ -307,9 +307,9 @@ static void upd78f0730_set_termios(struct tty_struct *tty,
 		return;
 
 	if (C_BAUD(tty) == B0)
-		upd78f0730_dtr_rts(port, 0);
+		upd78f0730_dtr_rts(port, false);
 	else if (old_termios && (old_termios->c_cflag & CBAUD) == B0)
-		upd78f0730_dtr_rts(port, 1);
+		upd78f0730_dtr_rts(port, true);
 
 	baud_rate = upd78f0730_get_baud_rate(tty);
 	request.opcode = UPD78F0730_CMD_LINE_CONTROL;
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 019720a63fac..f8404073558b 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -765,7 +765,7 @@ static bool serial_port_carrier_raised(struct tty_port *port)
 	return true;
 }
 
-static void serial_port_dtr_rts(struct tty_port *port, int on)
+static void serial_port_dtr_rts(struct tty_port *port, bool on)
 {
 	struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
 	struct usb_serial_driver *drv = p->serial->type;
diff --git a/drivers/usb/serial/usb-wwan.h b/drivers/usb/serial/usb-wwan.h
index 519101945769..b2a07dd44225 100644
--- a/drivers/usb/serial/usb-wwan.h
+++ b/drivers/usb/serial/usb-wwan.h
@@ -6,7 +6,7 @@
 #ifndef __LINUX_USB_USB_WWAN
 #define __LINUX_USB_USB_WWAN
 
-extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on);
+extern void usb_wwan_dtr_rts(struct usb_serial_port *port, bool on);
 extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port);
 extern void usb_wwan_close(struct usb_serial_port *port);
 extern int usb_wwan_port_probe(struct usb_serial_port *port);
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index 0017f6e969e1..168b11cc02b6 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -69,7 +69,7 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
 	return res;
 }
 
-void usb_wwan_dtr_rts(struct usb_serial_port *port, int on)
+void usb_wwan_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	struct usb_wwan_port_private *portdata;
 	struct usb_wwan_intf_private *intfdata;
diff --git a/drivers/usb/serial/xr_serial.c b/drivers/usb/serial/xr_serial.c
index fdb0aae546c3..9aaed09d45e4 100644
--- a/drivers/usb/serial/xr_serial.c
+++ b/drivers/usb/serial/xr_serial.c
@@ -495,7 +495,7 @@ static int xr_tiocmset(struct tty_struct *tty,
 	return xr_tiocmset_port(port, set, clear);
 }
 
-static void xr_dtr_rts(struct usb_serial_port *port, int on)
+static void xr_dtr_rts(struct usb_serial_port *port, bool on)
 {
 	if (on)
 		xr_tiocmset_port(port, TIOCM_DTR | TIOCM_RTS, 0);
@@ -669,9 +669,9 @@ static void xr_set_flow_mode(struct tty_struct *tty,
 	xr_uart_enable(port);
 
 	if (C_BAUD(tty) == B0)
-		xr_dtr_rts(port, 0);
+		xr_dtr_rts(port, false);
 	else if (old_termios && (old_termios->c_cflag & CBAUD) == B0)
-		xr_dtr_rts(port, 1);
+		xr_dtr_rts(port, true);
 }
 
 static void xr21v141x_set_line_settings(struct tty_struct *tty,
diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
index cf098459cb01..c44e489de0ff 100644
--- a/include/linux/tty_port.h
+++ b/include/linux/tty_port.h
@@ -16,7 +16,7 @@ struct tty_struct;
 /**
  * struct tty_port_operations -- operations on tty_port
  * @carrier_raised: return true if the carrier is raised on @port
- * @dtr_rts: raise the DTR line if @raise is nonzero, otherwise lower DTR
+ * @dtr_rts: raise the DTR line if @raise is true, otherwise lower DTR
  * @shutdown: called when the last close completes or a hangup finishes IFF the
  *	port was initialized. Do not use to free resources. Turn off the device
  *	only. Called under the port mutex to serialize against @activate and
@@ -32,7 +32,7 @@ struct tty_struct;
  */
 struct tty_port_operations {
 	bool (*carrier_raised)(struct tty_port *port);
-	void (*dtr_rts)(struct tty_port *port, int raise);
+	void (*dtr_rts)(struct tty_port *port, bool raise);
 	void (*shutdown)(struct tty_port *port);
 	int (*activate)(struct tty_port *port, struct tty_struct *tty);
 	void (*destruct)(struct tty_port *port);
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
index dc7f90522b42..c597357853d9 100644
--- a/include/linux/usb/serial.h
+++ b/include/linux/usb/serial.h
@@ -292,7 +292,7 @@ struct usb_serial_driver {
 			struct serial_icounter_struct *icount);
 	/* Called by the tty layer for port level work. There may or may not
 	   be an attached tty at this point */
-	void (*dtr_rts)(struct usb_serial_port *port, int on);
+	void (*dtr_rts)(struct usb_serial_port *port, bool on);
 	bool (*carrier_raised)(struct usb_serial_port *port);
 	/* Called by the usb serial hooks to allow the user to rework the
 	   termios state */
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 09/13] serial: Make uart_handle_cts_change() status param bool active
       [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
                   ` (2 preceding siblings ...)
  2023-01-11 14:23 ` [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
@ 2023-01-11 14:23 ` Ilpo Järvinen
  2023-01-11 14:23 ` [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently Ilpo Järvinen
  4 siblings, 0 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2023-01-11 14:23 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel, linux-kernel
  Cc: Ilpo Järvinen

Convert uart_handle_cts_change() to bool which is more appropriate
than unsigned int.

Rename status to active to better describe what the parameter means.
While at it, make the comment about the active parameter easier to
parse.

Cleanup callsites from operations that are not necessary with bool.

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/imx.c         | 2 +-
 drivers/tty/serial/max3100.c     | 2 +-
 drivers/tty/serial/max310x.c     | 3 +--
 drivers/tty/serial/serial_core.c | 8 ++++----
 include/linux/serial_core.h      | 3 +--
 5 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 757825edb0cd..07850a9cde61 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -771,7 +771,7 @@ static irqreturn_t __imx_uart_rtsint(int irq, void *dev_id)
 
 	imx_uart_writel(sport, USR1_RTSD, USR1);
 	usr1 = imx_uart_readl(sport, USR1) & USR1_RTSS;
-	uart_handle_cts_change(&sport->port, !!usr1);
+	uart_handle_cts_change(&sport->port, usr1);
 	wake_up_interruptible(&sport->port.state->port.delta_msr_wait);
 
 	return IRQ_HANDLED;
diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c
index bb74f23251fe..86dcbff8faa3 100644
--- a/drivers/tty/serial/max3100.c
+++ b/drivers/tty/serial/max3100.c
@@ -247,7 +247,7 @@ static int max3100_handlerx(struct max3100_port *s, u16 rx)
 	cts = (rx & MAX3100_CTS) > 0;
 	if (s->cts != cts) {
 		s->cts = cts;
-		uart_handle_cts_change(&s->port, cts ? TIOCM_CTS : 0);
+		uart_handle_cts_change(&s->port, cts);
 	}
 
 	return ret;
diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c
index 4eb24e3407f8..e9cacfe7e032 100644
--- a/drivers/tty/serial/max310x.c
+++ b/drivers/tty/serial/max310x.c
@@ -819,8 +819,7 @@ static irqreturn_t max310x_port_irq(struct max310x_port *s, int portno)
 
 		if (ists & MAX310X_IRQ_CTS_BIT) {
 			lsr = max310x_port_read(port, MAX310X_LSR_IRQSTS_REG);
-			uart_handle_cts_change(port,
-					       !!(lsr & MAX310X_LSR_CTS_BIT));
+			uart_handle_cts_change(port, lsr & MAX310X_LSR_CTS_BIT);
 		}
 		if (rxlen)
 			max310x_handle_rx(port, rxlen);
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index f8a9386db482..b8fff667d4f0 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -3287,11 +3287,11 @@ EXPORT_SYMBOL_GPL(uart_handle_dcd_change);
 /**
  * uart_handle_cts_change - handle a change of clear-to-send state
  * @uport: uart_port structure for the open port
- * @status: new clear to send status, nonzero if active
+ * @active: new clear-to-send status
  *
  * Caller must hold uport->lock.
  */
-void uart_handle_cts_change(struct uart_port *uport, unsigned int status)
+void uart_handle_cts_change(struct uart_port *uport, bool active)
 {
 	lockdep_assert_held_once(&uport->lock);
 
@@ -3299,13 +3299,13 @@ void uart_handle_cts_change(struct uart_port *uport, unsigned int status)
 
 	if (uart_softcts_mode(uport)) {
 		if (uport->hw_stopped) {
-			if (status) {
+			if (active) {
 				uport->hw_stopped = 0;
 				uport->ops->start_tx(uport);
 				uart_write_wakeup(uport);
 			}
 		} else {
-			if (!status) {
+			if (!active) {
 				uport->hw_stopped = 1;
 				uport->ops->stop_tx(uport);
 			}
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 760c96ffb5bd..ddd7c9425938 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -897,8 +897,7 @@ static inline bool uart_softcts_mode(struct uart_port *uport)
  */
 
 extern void uart_handle_dcd_change(struct uart_port *uport, bool active);
-extern void uart_handle_cts_change(struct uart_port *uport,
-		unsigned int status);
+extern void uart_handle_cts_change(struct uart_port *uport, bool active);
 
 extern void uart_insert_char(struct uart_port *port, unsigned int status,
 		 unsigned int overrun, unsigned int ch, unsigned int flag);
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently
       [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
                   ` (3 preceding siblings ...)
  2023-01-11 14:23 ` [PATCH v3 09/13] serial: Make uart_handle_cts_change() status param bool active Ilpo Järvinen
@ 2023-01-11 14:23 ` Ilpo Järvinen
  2023-01-11 16:54   ` Johan Hovold
  2023-01-13 11:49   ` Ulf Hansson
  4 siblings, 2 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2023-01-11 14:23 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-kernel, linux-mmc, greybus-dev, linux-staging,
	linuxppc-dev, linux-arm-kernel, linux-usb
  Cc: Ilpo Järvinen

Convert various parameter names for ->dtr_rts() and related functions
from onoff, on, and raise to active.

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/char/pcmcia/synclink_cs.c | 6 +++---
 drivers/mmc/core/sdio_uart.c      | 6 +++---
 drivers/staging/greybus/uart.c    | 4 ++--
 drivers/tty/amiserial.c           | 4 ++--
 drivers/tty/hvc/hvc_console.h     | 2 +-
 drivers/tty/hvc/hvc_iucv.c        | 6 +++---
 drivers/tty/mxser.c               | 4 ++--
 drivers/tty/n_gsm.c               | 4 ++--
 drivers/tty/serial/serial_core.c  | 8 ++++----
 drivers/tty/synclink_gt.c         | 4 ++--
 include/linux/tty_port.h          | 4 ++--
 include/linux/usb/serial.h        | 2 +-
 12 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 46a0b586d234..1577eba6fe0e 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -378,7 +378,7 @@ static void async_mode(MGSLPC_INFO *info);
 static void tx_timeout(struct timer_list *t);
 
 static bool carrier_raised(struct tty_port *port);
-static void dtr_rts(struct tty_port *port, bool onoff);
+static void dtr_rts(struct tty_port *port, bool active);
 
 #if SYNCLINK_GENERIC_HDLC
 #define dev_to_port(D) (dev_to_hdlc(D)->priv)
@@ -2442,13 +2442,13 @@ static bool carrier_raised(struct tty_port *port)
 	return info->serial_signals & SerialSignal_DCD;
 }
 
-static void dtr_rts(struct tty_port *port, bool onoff)
+static void dtr_rts(struct tty_port *port, bool active)
 {
 	MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
 	unsigned long flags;
 
 	spin_lock_irqsave(&info->lock, flags);
-	if (onoff)
+	if (active)
 		info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
 	else
 		info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
index c6b4b2b2a4b2..50536fe59f1a 100644
--- a/drivers/mmc/core/sdio_uart.c
+++ b/drivers/mmc/core/sdio_uart.c
@@ -542,20 +542,20 @@ static bool uart_carrier_raised(struct tty_port *tport)
 /**
  *	uart_dtr_rts		-	 port helper to set uart signals
  *	@tport: tty port to be updated
- *	@onoff: set to turn on DTR/RTS
+ *	@active: set to turn on DTR/RTS
  *
  *	Called by the tty port helpers when the modem signals need to be
  *	adjusted during an open, close and hangup.
  */
 
-static void uart_dtr_rts(struct tty_port *tport, bool onoff)
+static void uart_dtr_rts(struct tty_port *tport, bool active)
 {
 	struct sdio_uart_port *port =
 			container_of(tport, struct sdio_uart_port, port);
 	int ret = sdio_uart_claim_func(port);
 	if (ret)
 		return;
-	if (!onoff)
+	if (!active)
 		sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
 	else
 		sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c
index 92d49740d5a4..20a34599859f 100644
--- a/drivers/staging/greybus/uart.c
+++ b/drivers/staging/greybus/uart.c
@@ -701,7 +701,7 @@ static int gb_tty_ioctl(struct tty_struct *tty, unsigned int cmd,
 	return -ENOIOCTLCMD;
 }
 
-static void gb_tty_dtr_rts(struct tty_port *port, bool on)
+static void gb_tty_dtr_rts(struct tty_port *port, bool active)
 {
 	struct gb_tty *gb_tty;
 	u8 newctrl;
@@ -709,7 +709,7 @@ static void gb_tty_dtr_rts(struct tty_port *port, bool on)
 	gb_tty = container_of(port, struct gb_tty, port);
 	newctrl = gb_tty->ctrlout;
 
-	if (on)
+	if (active)
 		newctrl |= (GB_UART_CTRL_DTR | GB_UART_CTRL_RTS);
 	else
 		newctrl &= ~(GB_UART_CTRL_DTR | GB_UART_CTRL_RTS);
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index 29d4c554f6b8..d7515d61659e 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -1459,13 +1459,13 @@ static bool amiga_carrier_raised(struct tty_port *port)
 	return !(ciab.pra & SER_DCD);
 }
 
-static void amiga_dtr_rts(struct tty_port *port, bool raise)
+static void amiga_dtr_rts(struct tty_port *port, bool active)
 {
 	struct serial_state *info = container_of(port, struct serial_state,
 			tport);
 	unsigned long flags;
 
-	if (raise)
+	if (active)
 		info->MCR |= SER_DTR|SER_RTS;
 	else
 		info->MCR &= ~(SER_DTR|SER_RTS);
diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h
index 6d3428bf868f..9668f821db01 100644
--- a/drivers/tty/hvc/hvc_console.h
+++ b/drivers/tty/hvc/hvc_console.h
@@ -66,7 +66,7 @@ struct hv_ops {
 	int (*tiocmset)(struct hvc_struct *hp, unsigned int set, unsigned int clear);
 
 	/* Callbacks to handle tty ports */
-	void (*dtr_rts)(struct hvc_struct *hp, bool raise);
+	void (*dtr_rts)(struct hvc_struct *hp, bool active);
 };
 
 /* Register a vterm and a slot index for use as a console (console_init) */
diff --git a/drivers/tty/hvc/hvc_iucv.c b/drivers/tty/hvc/hvc_iucv.c
index fe862a6882d6..543f35ddf523 100644
--- a/drivers/tty/hvc/hvc_iucv.c
+++ b/drivers/tty/hvc/hvc_iucv.c
@@ -658,13 +658,13 @@ static void hvc_iucv_notifier_hangup(struct hvc_struct *hp, int id)
 /**
  * hvc_iucv_dtr_rts() - HVC notifier for handling DTR/RTS
  * @hp:		Pointer the HVC device (struct hvc_struct)
- * @raise:	True to raise or false to lower DTR/RTS lines
+ * @active:	True to raise or false to lower DTR/RTS lines
  *
  * This routine notifies the HVC back-end to raise or lower DTR/RTS
  * lines.  Raising DTR/RTS is ignored.  Lowering DTR/RTS indicates to
  * drop the IUCV connection (similar to hang up the modem).
  */
-static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
+static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool active)
 {
 	struct hvc_iucv_private *priv;
 	struct iucv_path        *path;
@@ -672,7 +672,7 @@ static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
 	/* Raising the DTR/RTS is ignored as IUCV connections can be
 	 * established at any times.
 	 */
-	if (raise)
+	if (active)
 		return;
 
 	priv = hvc_iucv_get_private(hp->vtermno);
diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
index d4fb11e39bb1..ef3116e87975 100644
--- a/drivers/tty/mxser.c
+++ b/drivers/tty/mxser.c
@@ -465,7 +465,7 @@ static bool mxser_carrier_raised(struct tty_port *port)
 	return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
 }
 
-static void mxser_dtr_rts(struct tty_port *port, bool on)
+static void mxser_dtr_rts(struct tty_port *port, bool active)
 {
 	struct mxser_port *mp = container_of(port, struct mxser_port, port);
 	unsigned long flags;
@@ -473,7 +473,7 @@ static void mxser_dtr_rts(struct tty_port *port, bool on)
 
 	spin_lock_irqsave(&mp->slock, flags);
 	mcr = inb(mp->ioaddr + UART_MCR);
-	if (on)
+	if (active)
 		mcr |= UART_MCR_DTR | UART_MCR_RTS;
 	else
 		mcr &= ~(UART_MCR_DTR | UART_MCR_RTS);
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 8dd0d6441c42..4f29b00f2645 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3792,11 +3792,11 @@ static bool gsm_carrier_raised(struct tty_port *port)
 	return dlci->modem_rx & TIOCM_CD;
 }
 
-static void gsm_dtr_rts(struct tty_port *port, bool onoff)
+static void gsm_dtr_rts(struct tty_port *port, bool active)
 {
 	struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
 	unsigned int modem_tx = dlci->modem_tx;
-	if (onoff)
+	if (active)
 		modem_tx |= TIOCM_DTR | TIOCM_RTS;
 	else
 		modem_tx &= ~(TIOCM_DTR | TIOCM_RTS);
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index b8fff667d4f0..da4e4e8a2b50 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -169,9 +169,9 @@ uart_update_mctrl(struct uart_port *port, unsigned int set, unsigned int clear)
 #define uart_set_mctrl(port, set)	uart_update_mctrl(port, set, 0)
 #define uart_clear_mctrl(port, clear)	uart_update_mctrl(port, 0, clear)
 
-static void uart_port_dtr_rts(struct uart_port *uport, bool raise)
+static void uart_port_dtr_rts(struct uart_port *uport, bool active)
 {
-	if (raise)
+	if (active)
 		uart_set_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
 	else
 		uart_clear_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
@@ -1885,7 +1885,7 @@ static bool uart_carrier_raised(struct tty_port *port)
 	return mctrl & TIOCM_CAR;
 }
 
-static void uart_dtr_rts(struct tty_port *port, bool raise)
+static void uart_dtr_rts(struct tty_port *port, bool active)
 {
 	struct uart_state *state = container_of(port, struct uart_state, port);
 	struct uart_port *uport;
@@ -1893,7 +1893,7 @@ static void uart_dtr_rts(struct tty_port *port, bool raise)
 	uport = uart_port_ref(state);
 	if (!uport)
 		return;
-	uart_port_dtr_rts(uport, raise);
+	uart_port_dtr_rts(uport, active);
 	uart_port_deref(uport);
 }
 
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 2b786265ce7b..33f258d6fef9 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -3138,13 +3138,13 @@ static bool carrier_raised(struct tty_port *port)
 	return info->signals & SerialSignal_DCD;
 }
 
-static void dtr_rts(struct tty_port *port, bool on)
+static void dtr_rts(struct tty_port *port, bool active)
 {
 	unsigned long flags;
 	struct slgt_info *info = container_of(port, struct slgt_info, port);
 
 	spin_lock_irqsave(&info->lock,flags);
-	if (on)
+	if (active)
 		info->signals |= SerialSignal_RTS | SerialSignal_DTR;
 	else
 		info->signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
index c44e489de0ff..edf685a24f7c 100644
--- a/include/linux/tty_port.h
+++ b/include/linux/tty_port.h
@@ -16,7 +16,7 @@ struct tty_struct;
 /**
  * struct tty_port_operations -- operations on tty_port
  * @carrier_raised: return true if the carrier is raised on @port
- * @dtr_rts: raise the DTR line if @raise is true, otherwise lower DTR
+ * @dtr_rts: raise the DTR line if @active is true, otherwise lower DTR
  * @shutdown: called when the last close completes or a hangup finishes IFF the
  *	port was initialized. Do not use to free resources. Turn off the device
  *	only. Called under the port mutex to serialize against @activate and
@@ -32,7 +32,7 @@ struct tty_struct;
  */
 struct tty_port_operations {
 	bool (*carrier_raised)(struct tty_port *port);
-	void (*dtr_rts)(struct tty_port *port, bool raise);
+	void (*dtr_rts)(struct tty_port *port, bool active);
 	void (*shutdown)(struct tty_port *port);
 	int (*activate)(struct tty_port *port, struct tty_struct *tty);
 	void (*destruct)(struct tty_port *port);
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
index bad343c5e8a7..33afd9f3ebbe 100644
--- a/include/linux/usb/serial.h
+++ b/include/linux/usb/serial.h
@@ -292,7 +292,7 @@ struct usb_serial_driver {
 			struct serial_icounter_struct *icount);
 	/* Called by the tty layer for port level work. There may or may not
 	   be an attached tty at this point */
-	void (*dtr_rts)(struct usb_serial_port *port, bool on);
+	void (*dtr_rts)(struct usb_serial_port *port, bool active);
 	bool (*carrier_raised)(struct usb_serial_port *port);
 	/* Called by the usb serial hooks to allow the user to rework the
 	   termios state */
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently
  2023-01-11 14:23 ` [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently Ilpo Järvinen
@ 2023-01-11 16:54   ` Johan Hovold
  2023-01-13 11:49   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Johan Hovold @ 2023-01-11 16:54 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-kernel, linux-mmc, greybus-dev, linux-staging,
	linuxppc-dev, linux-arm-kernel, linux-usb

On Wed, Jan 11, 2023 at 04:23:29PM +0200, Ilpo Järvinen wrote:
> Convert various parameter names for ->dtr_rts() and related functions
> from onoff, on, and raise to active.
> 
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  drivers/char/pcmcia/synclink_cs.c | 6 +++---
>  drivers/mmc/core/sdio_uart.c      | 6 +++---
>  drivers/staging/greybus/uart.c    | 4 ++--
>  drivers/tty/amiserial.c           | 4 ++--
>  drivers/tty/hvc/hvc_console.h     | 2 +-
>  drivers/tty/hvc/hvc_iucv.c        | 6 +++---
>  drivers/tty/mxser.c               | 4 ++--
>  drivers/tty/n_gsm.c               | 4 ++--
>  drivers/tty/serial/serial_core.c  | 8 ++++----
>  drivers/tty/synclink_gt.c         | 4 ++--
>  include/linux/tty_port.h          | 4 ++--
>  include/linux/usb/serial.h        | 2 +-
>  12 files changed, 27 insertions(+), 27 deletions(-)

> diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
> index c44e489de0ff..edf685a24f7c 100644
> --- a/include/linux/tty_port.h
> +++ b/include/linux/tty_port.h
> @@ -16,7 +16,7 @@ struct tty_struct;
>  /**
>   * struct tty_port_operations -- operations on tty_port
>   * @carrier_raised: return true if the carrier is raised on @port
> - * @dtr_rts: raise the DTR line if @raise is true, otherwise lower DTR
> + * @dtr_rts: raise the DTR line if @active is true, otherwise lower DTR
>   * @shutdown: called when the last close completes or a hangup finishes IFF the
>   *	port was initialized. Do not use to free resources. Turn off the device
>   *	only. Called under the port mutex to serialize against @activate and
> @@ -32,7 +32,7 @@ struct tty_struct;
>   */
>  struct tty_port_operations {
>  	bool (*carrier_raised)(struct tty_port *port);
> -	void (*dtr_rts)(struct tty_port *port, bool raise);
> +	void (*dtr_rts)(struct tty_port *port, bool active);
>  	void (*shutdown)(struct tty_port *port);
>  	int (*activate)(struct tty_port *port, struct tty_struct *tty);
>  	void (*destruct)(struct tty_port *port);
> diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
> index bad343c5e8a7..33afd9f3ebbe 100644
> --- a/include/linux/usb/serial.h
> +++ b/include/linux/usb/serial.h
> @@ -292,7 +292,7 @@ struct usb_serial_driver {
>  			struct serial_icounter_struct *icount);
>  	/* Called by the tty layer for port level work. There may or may not
>  	   be an attached tty at this point */
> -	void (*dtr_rts)(struct usb_serial_port *port, bool on);
> +	void (*dtr_rts)(struct usb_serial_port *port, bool active);

This is not a tty_port callback so this change does not belong in this
patch.

>  	bool (*carrier_raised)(struct usb_serial_port *port);
>  	/* Called by the usb serial hooks to allow the user to rework the
>  	   termios state */

Johan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool
  2023-01-11 14:23 ` [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool Ilpo Järvinen
@ 2023-01-11 17:25   ` Johan Hovold
  2023-01-13 11:50   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Johan Hovold @ 2023-01-11 17:25 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, linux-kernel, linux-mmc,
	linux-arm-kernel, linux-usb, linux-bluetooth, netdev

On Wed, Jan 11, 2023 at 04:23:24PM +0200, Ilpo Järvinen wrote:
> Return boolean from ->carrier_raised() instead of 0 and 1. Make the
> return type change also to tty_port_carrier_raised() that makes the
> ->carrier_raised() call (+ cd variable in moxa into which its return
> value is stored).
> 
> Also cleans up a few unnecessary constructs related to this change:
> 
> 	return xx ? 1 : 0;
> 	-> return xx;
> 
> 	if (xx)
> 		return 1;
> 	return 0;
> 	-> return xx;
> 
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  drivers/char/pcmcia/synclink_cs.c | 8 +++-----
>  drivers/mmc/core/sdio_uart.c      | 7 +++----
>  drivers/tty/amiserial.c           | 2 +-
>  drivers/tty/moxa.c                | 4 ++--
>  drivers/tty/mxser.c               | 5 +++--
>  drivers/tty/n_gsm.c               | 8 ++++----
>  drivers/tty/serial/serial_core.c  | 9 ++++-----
>  drivers/tty/synclink_gt.c         | 7 ++++---
>  drivers/tty/tty_port.c            | 4 ++--
>  drivers/usb/serial/ch341.c        | 7 +++----
>  drivers/usb/serial/f81232.c       | 6 ++----
>  drivers/usb/serial/pl2303.c       | 7 ++-----
>  drivers/usb/serial/spcp8x5.c      | 7 ++-----
>  drivers/usb/serial/usb-serial.c   | 4 ++--
>  include/linux/tty_port.h          | 6 +++---
>  include/linux/usb/serial.h        | 2 +-
>  net/bluetooth/rfcomm/tty.c        | 2 +-
>  17 files changed, 42 insertions(+), 53 deletions(-)

Same here, please split out the USB serial changes except for the
actual tty-port op change in usb-serial.c.

You can submit a follow-up series for USB serial as those changes are
otherwise unrelated to the changed tty-port interface.

Johan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument
  2023-01-11 14:23 ` [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
@ 2023-01-11 17:26   ` Johan Hovold
  2023-01-13 11:50   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Johan Hovold @ 2023-01-11 17:26 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Ulf Hansson, David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Oliver Neukum, linux-kernel, linux-mmc, greybus-dev,
	linux-staging, linuxppc-dev, linux-arm-kernel, linux-usb

On Wed, Jan 11, 2023 at 04:23:25PM +0200, Ilpo Järvinen wrote:
> Convert the raise/on parameter in ->dtr_rts() to bool through the
> callchain. The parameter is used like bool. In USB serial, there
> remains a few implicit bool -> larger type conversions because some
> devices use u8 in their control messages.
> 
> In moxa_tiocmget(), dtr variable was reused for line status which
> requires int so use a separate variable for status.
> 
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  drivers/char/pcmcia/synclink_cs.c    |  4 +--
>  drivers/mmc/core/sdio_uart.c         |  4 +--
>  drivers/staging/greybus/uart.c       |  2 +-
>  drivers/tty/amiserial.c              |  2 +-
>  drivers/tty/hvc/hvc_console.c        |  4 +--
>  drivers/tty/hvc/hvc_console.h        |  2 +-
>  drivers/tty/hvc/hvc_iucv.c           |  4 +--
>  drivers/tty/moxa.c                   | 54 ++++++++++++++--------------
>  drivers/tty/mxser.c                  |  2 +-
>  drivers/tty/n_gsm.c                  |  2 +-
>  drivers/tty/serial/serial_core.c     |  8 ++---
>  drivers/tty/synclink_gt.c            |  2 +-
>  drivers/tty/tty_port.c               |  4 +--
>  drivers/usb/class/cdc-acm.c          |  2 +-
>  drivers/usb/serial/ch341.c           |  2 +-
>  drivers/usb/serial/cp210x.c          |  4 +--
>  drivers/usb/serial/cypress_m8.c      |  6 ++--
>  drivers/usb/serial/digi_acceleport.c |  6 ++--
>  drivers/usb/serial/f81232.c          |  2 +-
>  drivers/usb/serial/f81534.c          |  2 +-
>  drivers/usb/serial/ftdi_sio.c        |  2 +-
>  drivers/usb/serial/ipw.c             |  2 +-
>  drivers/usb/serial/keyspan.c         |  2 +-
>  drivers/usb/serial/keyspan_pda.c     |  2 +-
>  drivers/usb/serial/mct_u232.c        |  4 +--
>  drivers/usb/serial/mxuport.c         |  2 +-
>  drivers/usb/serial/pl2303.c          |  2 +-
>  drivers/usb/serial/quatech2.c        |  2 +-
>  drivers/usb/serial/sierra.c          |  2 +-
>  drivers/usb/serial/spcp8x5.c         |  2 +-
>  drivers/usb/serial/ssu100.c          |  2 +-
>  drivers/usb/serial/upd78f0730.c      |  6 ++--
>  drivers/usb/serial/usb-serial.c      |  2 +-
>  drivers/usb/serial/usb-wwan.h        |  2 +-
>  drivers/usb/serial/usb_wwan.c        |  2 +-
>  drivers/usb/serial/xr_serial.c       |  6 ++--
>  include/linux/tty_port.h             |  4 +--
>  include/linux/usb/serial.h           |  2 +-
>  38 files changed, 84 insertions(+), 82 deletions(-)

Same here. No need to lump the tty-port changes with USB-serial changes.

Johan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently
  2023-01-11 14:23 ` [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently Ilpo Järvinen
  2023-01-11 16:54   ` Johan Hovold
@ 2023-01-13 11:49   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Ulf Hansson @ 2023-01-13 11:49 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-kernel, linux-mmc, greybus-dev, linux-staging,
	linuxppc-dev, linux-arm-kernel, linux-usb

On Wed, 11 Jan 2023 at 15:24, Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> Convert various parameter names for ->dtr_rts() and related functions
> from onoff, on, and raise to active.
>
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC

Kind regards
Uffe

> ---
>  drivers/char/pcmcia/synclink_cs.c | 6 +++---
>  drivers/mmc/core/sdio_uart.c      | 6 +++---
>  drivers/staging/greybus/uart.c    | 4 ++--
>  drivers/tty/amiserial.c           | 4 ++--
>  drivers/tty/hvc/hvc_console.h     | 2 +-
>  drivers/tty/hvc/hvc_iucv.c        | 6 +++---
>  drivers/tty/mxser.c               | 4 ++--
>  drivers/tty/n_gsm.c               | 4 ++--
>  drivers/tty/serial/serial_core.c  | 8 ++++----
>  drivers/tty/synclink_gt.c         | 4 ++--
>  include/linux/tty_port.h          | 4 ++--
>  include/linux/usb/serial.h        | 2 +-
>  12 files changed, 27 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
> index 46a0b586d234..1577eba6fe0e 100644
> --- a/drivers/char/pcmcia/synclink_cs.c
> +++ b/drivers/char/pcmcia/synclink_cs.c
> @@ -378,7 +378,7 @@ static void async_mode(MGSLPC_INFO *info);
>  static void tx_timeout(struct timer_list *t);
>
>  static bool carrier_raised(struct tty_port *port);
> -static void dtr_rts(struct tty_port *port, bool onoff);
> +static void dtr_rts(struct tty_port *port, bool active);
>
>  #if SYNCLINK_GENERIC_HDLC
>  #define dev_to_port(D) (dev_to_hdlc(D)->priv)
> @@ -2442,13 +2442,13 @@ static bool carrier_raised(struct tty_port *port)
>         return info->serial_signals & SerialSignal_DCD;
>  }
>
> -static void dtr_rts(struct tty_port *port, bool onoff)
> +static void dtr_rts(struct tty_port *port, bool active)
>  {
>         MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
>         unsigned long flags;
>
>         spin_lock_irqsave(&info->lock, flags);
> -       if (onoff)
> +       if (active)
>                 info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
>         else
>                 info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
> diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
> index c6b4b2b2a4b2..50536fe59f1a 100644
> --- a/drivers/mmc/core/sdio_uart.c
> +++ b/drivers/mmc/core/sdio_uart.c
> @@ -542,20 +542,20 @@ static bool uart_carrier_raised(struct tty_port *tport)
>  /**
>   *     uart_dtr_rts            -        port helper to set uart signals
>   *     @tport: tty port to be updated
> - *     @onoff: set to turn on DTR/RTS
> + *     @active: set to turn on DTR/RTS
>   *
>   *     Called by the tty port helpers when the modem signals need to be
>   *     adjusted during an open, close and hangup.
>   */
>
> -static void uart_dtr_rts(struct tty_port *tport, bool onoff)
> +static void uart_dtr_rts(struct tty_port *tport, bool active)
>  {
>         struct sdio_uart_port *port =
>                         container_of(tport, struct sdio_uart_port, port);
>         int ret = sdio_uart_claim_func(port);
>         if (ret)
>                 return;
> -       if (!onoff)
> +       if (!active)
>                 sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
>         else
>                 sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
> diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c
> index 92d49740d5a4..20a34599859f 100644
> --- a/drivers/staging/greybus/uart.c
> +++ b/drivers/staging/greybus/uart.c
> @@ -701,7 +701,7 @@ static int gb_tty_ioctl(struct tty_struct *tty, unsigned int cmd,
>         return -ENOIOCTLCMD;
>  }
>
> -static void gb_tty_dtr_rts(struct tty_port *port, bool on)
> +static void gb_tty_dtr_rts(struct tty_port *port, bool active)
>  {
>         struct gb_tty *gb_tty;
>         u8 newctrl;
> @@ -709,7 +709,7 @@ static void gb_tty_dtr_rts(struct tty_port *port, bool on)
>         gb_tty = container_of(port, struct gb_tty, port);
>         newctrl = gb_tty->ctrlout;
>
> -       if (on)
> +       if (active)
>                 newctrl |= (GB_UART_CTRL_DTR | GB_UART_CTRL_RTS);
>         else
>                 newctrl &= ~(GB_UART_CTRL_DTR | GB_UART_CTRL_RTS);
> diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
> index 29d4c554f6b8..d7515d61659e 100644
> --- a/drivers/tty/amiserial.c
> +++ b/drivers/tty/amiserial.c
> @@ -1459,13 +1459,13 @@ static bool amiga_carrier_raised(struct tty_port *port)
>         return !(ciab.pra & SER_DCD);
>  }
>
> -static void amiga_dtr_rts(struct tty_port *port, bool raise)
> +static void amiga_dtr_rts(struct tty_port *port, bool active)
>  {
>         struct serial_state *info = container_of(port, struct serial_state,
>                         tport);
>         unsigned long flags;
>
> -       if (raise)
> +       if (active)
>                 info->MCR |= SER_DTR|SER_RTS;
>         else
>                 info->MCR &= ~(SER_DTR|SER_RTS);
> diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h
> index 6d3428bf868f..9668f821db01 100644
> --- a/drivers/tty/hvc/hvc_console.h
> +++ b/drivers/tty/hvc/hvc_console.h
> @@ -66,7 +66,7 @@ struct hv_ops {
>         int (*tiocmset)(struct hvc_struct *hp, unsigned int set, unsigned int clear);
>
>         /* Callbacks to handle tty ports */
> -       void (*dtr_rts)(struct hvc_struct *hp, bool raise);
> +       void (*dtr_rts)(struct hvc_struct *hp, bool active);
>  };
>
>  /* Register a vterm and a slot index for use as a console (console_init) */
> diff --git a/drivers/tty/hvc/hvc_iucv.c b/drivers/tty/hvc/hvc_iucv.c
> index fe862a6882d6..543f35ddf523 100644
> --- a/drivers/tty/hvc/hvc_iucv.c
> +++ b/drivers/tty/hvc/hvc_iucv.c
> @@ -658,13 +658,13 @@ static void hvc_iucv_notifier_hangup(struct hvc_struct *hp, int id)
>  /**
>   * hvc_iucv_dtr_rts() - HVC notifier for handling DTR/RTS
>   * @hp:                Pointer the HVC device (struct hvc_struct)
> - * @raise:     True to raise or false to lower DTR/RTS lines
> + * @active:    True to raise or false to lower DTR/RTS lines
>   *
>   * This routine notifies the HVC back-end to raise or lower DTR/RTS
>   * lines.  Raising DTR/RTS is ignored.  Lowering DTR/RTS indicates to
>   * drop the IUCV connection (similar to hang up the modem).
>   */
> -static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
> +static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool active)
>  {
>         struct hvc_iucv_private *priv;
>         struct iucv_path        *path;
> @@ -672,7 +672,7 @@ static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
>         /* Raising the DTR/RTS is ignored as IUCV connections can be
>          * established at any times.
>          */
> -       if (raise)
> +       if (active)
>                 return;
>
>         priv = hvc_iucv_get_private(hp->vtermno);
> diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
> index d4fb11e39bb1..ef3116e87975 100644
> --- a/drivers/tty/mxser.c
> +++ b/drivers/tty/mxser.c
> @@ -465,7 +465,7 @@ static bool mxser_carrier_raised(struct tty_port *port)
>         return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
>  }
>
> -static void mxser_dtr_rts(struct tty_port *port, bool on)
> +static void mxser_dtr_rts(struct tty_port *port, bool active)
>  {
>         struct mxser_port *mp = container_of(port, struct mxser_port, port);
>         unsigned long flags;
> @@ -473,7 +473,7 @@ static void mxser_dtr_rts(struct tty_port *port, bool on)
>
>         spin_lock_irqsave(&mp->slock, flags);
>         mcr = inb(mp->ioaddr + UART_MCR);
> -       if (on)
> +       if (active)
>                 mcr |= UART_MCR_DTR | UART_MCR_RTS;
>         else
>                 mcr &= ~(UART_MCR_DTR | UART_MCR_RTS);
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index 8dd0d6441c42..4f29b00f2645 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -3792,11 +3792,11 @@ static bool gsm_carrier_raised(struct tty_port *port)
>         return dlci->modem_rx & TIOCM_CD;
>  }
>
> -static void gsm_dtr_rts(struct tty_port *port, bool onoff)
> +static void gsm_dtr_rts(struct tty_port *port, bool active)
>  {
>         struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
>         unsigned int modem_tx = dlci->modem_tx;
> -       if (onoff)
> +       if (active)
>                 modem_tx |= TIOCM_DTR | TIOCM_RTS;
>         else
>                 modem_tx &= ~(TIOCM_DTR | TIOCM_RTS);
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index b8fff667d4f0..da4e4e8a2b50 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -169,9 +169,9 @@ uart_update_mctrl(struct uart_port *port, unsigned int set, unsigned int clear)
>  #define uart_set_mctrl(port, set)      uart_update_mctrl(port, set, 0)
>  #define uart_clear_mctrl(port, clear)  uart_update_mctrl(port, 0, clear)
>
> -static void uart_port_dtr_rts(struct uart_port *uport, bool raise)
> +static void uart_port_dtr_rts(struct uart_port *uport, bool active)
>  {
> -       if (raise)
> +       if (active)
>                 uart_set_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
>         else
>                 uart_clear_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
> @@ -1885,7 +1885,7 @@ static bool uart_carrier_raised(struct tty_port *port)
>         return mctrl & TIOCM_CAR;
>  }
>
> -static void uart_dtr_rts(struct tty_port *port, bool raise)
> +static void uart_dtr_rts(struct tty_port *port, bool active)
>  {
>         struct uart_state *state = container_of(port, struct uart_state, port);
>         struct uart_port *uport;
> @@ -1893,7 +1893,7 @@ static void uart_dtr_rts(struct tty_port *port, bool raise)
>         uport = uart_port_ref(state);
>         if (!uport)
>                 return;
> -       uart_port_dtr_rts(uport, raise);
> +       uart_port_dtr_rts(uport, active);
>         uart_port_deref(uport);
>  }
>
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 2b786265ce7b..33f258d6fef9 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -3138,13 +3138,13 @@ static bool carrier_raised(struct tty_port *port)
>         return info->signals & SerialSignal_DCD;
>  }
>
> -static void dtr_rts(struct tty_port *port, bool on)
> +static void dtr_rts(struct tty_port *port, bool active)
>  {
>         unsigned long flags;
>         struct slgt_info *info = container_of(port, struct slgt_info, port);
>
>         spin_lock_irqsave(&info->lock,flags);
> -       if (on)
> +       if (active)
>                 info->signals |= SerialSignal_RTS | SerialSignal_DTR;
>         else
>                 info->signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
> diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
> index c44e489de0ff..edf685a24f7c 100644
> --- a/include/linux/tty_port.h
> +++ b/include/linux/tty_port.h
> @@ -16,7 +16,7 @@ struct tty_struct;
>  /**
>   * struct tty_port_operations -- operations on tty_port
>   * @carrier_raised: return true if the carrier is raised on @port
> - * @dtr_rts: raise the DTR line if @raise is true, otherwise lower DTR
> + * @dtr_rts: raise the DTR line if @active is true, otherwise lower DTR
>   * @shutdown: called when the last close completes or a hangup finishes IFF the
>   *     port was initialized. Do not use to free resources. Turn off the device
>   *     only. Called under the port mutex to serialize against @activate and
> @@ -32,7 +32,7 @@ struct tty_struct;
>   */
>  struct tty_port_operations {
>         bool (*carrier_raised)(struct tty_port *port);
> -       void (*dtr_rts)(struct tty_port *port, bool raise);
> +       void (*dtr_rts)(struct tty_port *port, bool active);
>         void (*shutdown)(struct tty_port *port);
>         int (*activate)(struct tty_port *port, struct tty_struct *tty);
>         void (*destruct)(struct tty_port *port);
> diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
> index bad343c5e8a7..33afd9f3ebbe 100644
> --- a/include/linux/usb/serial.h
> +++ b/include/linux/usb/serial.h
> @@ -292,7 +292,7 @@ struct usb_serial_driver {
>                         struct serial_icounter_struct *icount);
>         /* Called by the tty layer for port level work. There may or may not
>            be an attached tty at this point */
> -       void (*dtr_rts)(struct usb_serial_port *port, bool on);
> +       void (*dtr_rts)(struct usb_serial_port *port, bool active);
>         bool (*carrier_raised)(struct usb_serial_port *port);
>         /* Called by the usb serial hooks to allow the user to rework the
>            termios state */
> --
> 2.30.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument
  2023-01-11 14:23 ` [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
  2023-01-11 17:26   ` Johan Hovold
@ 2023-01-13 11:50   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Ulf Hansson @ 2023-01-13 11:50 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	David Lin, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Oliver Neukum, linux-kernel, linux-mmc, greybus-dev,
	linux-staging, linuxppc-dev, linux-arm-kernel, linux-usb

On Wed, 11 Jan 2023 at 15:24, Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> Convert the raise/on parameter in ->dtr_rts() to bool through the
> callchain. The parameter is used like bool. In USB serial, there
> remains a few implicit bool -> larger type conversions because some
> devices use u8 in their control messages.
>
> In moxa_tiocmget(), dtr variable was reused for line status which
> requires int so use a separate variable for status.
>
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC

Kind regards
Uffe


> ---
>  drivers/char/pcmcia/synclink_cs.c    |  4 +--
>  drivers/mmc/core/sdio_uart.c         |  4 +--
>  drivers/staging/greybus/uart.c       |  2 +-
>  drivers/tty/amiserial.c              |  2 +-
>  drivers/tty/hvc/hvc_console.c        |  4 +--
>  drivers/tty/hvc/hvc_console.h        |  2 +-
>  drivers/tty/hvc/hvc_iucv.c           |  4 +--
>  drivers/tty/moxa.c                   | 54 ++++++++++++++--------------
>  drivers/tty/mxser.c                  |  2 +-
>  drivers/tty/n_gsm.c                  |  2 +-
>  drivers/tty/serial/serial_core.c     |  8 ++---
>  drivers/tty/synclink_gt.c            |  2 +-
>  drivers/tty/tty_port.c               |  4 +--
>  drivers/usb/class/cdc-acm.c          |  2 +-
>  drivers/usb/serial/ch341.c           |  2 +-
>  drivers/usb/serial/cp210x.c          |  4 +--
>  drivers/usb/serial/cypress_m8.c      |  6 ++--
>  drivers/usb/serial/digi_acceleport.c |  6 ++--
>  drivers/usb/serial/f81232.c          |  2 +-
>  drivers/usb/serial/f81534.c          |  2 +-
>  drivers/usb/serial/ftdi_sio.c        |  2 +-
>  drivers/usb/serial/ipw.c             |  2 +-
>  drivers/usb/serial/keyspan.c         |  2 +-
>  drivers/usb/serial/keyspan_pda.c     |  2 +-
>  drivers/usb/serial/mct_u232.c        |  4 +--
>  drivers/usb/serial/mxuport.c         |  2 +-
>  drivers/usb/serial/pl2303.c          |  2 +-
>  drivers/usb/serial/quatech2.c        |  2 +-
>  drivers/usb/serial/sierra.c          |  2 +-
>  drivers/usb/serial/spcp8x5.c         |  2 +-
>  drivers/usb/serial/ssu100.c          |  2 +-
>  drivers/usb/serial/upd78f0730.c      |  6 ++--
>  drivers/usb/serial/usb-serial.c      |  2 +-
>  drivers/usb/serial/usb-wwan.h        |  2 +-
>  drivers/usb/serial/usb_wwan.c        |  2 +-
>  drivers/usb/serial/xr_serial.c       |  6 ++--
>  include/linux/tty_port.h             |  4 +--
>  include/linux/usb/serial.h           |  2 +-
>  38 files changed, 84 insertions(+), 82 deletions(-)
>
> diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
> index 4391138e1b8a..46a0b586d234 100644
> --- a/drivers/char/pcmcia/synclink_cs.c
> +++ b/drivers/char/pcmcia/synclink_cs.c
> @@ -378,7 +378,7 @@ static void async_mode(MGSLPC_INFO *info);
>  static void tx_timeout(struct timer_list *t);
>
>  static bool carrier_raised(struct tty_port *port);
> -static void dtr_rts(struct tty_port *port, int onoff);
> +static void dtr_rts(struct tty_port *port, bool onoff);
>
>  #if SYNCLINK_GENERIC_HDLC
>  #define dev_to_port(D) (dev_to_hdlc(D)->priv)
> @@ -2442,7 +2442,7 @@ static bool carrier_raised(struct tty_port *port)
>         return info->serial_signals & SerialSignal_DCD;
>  }
>
> -static void dtr_rts(struct tty_port *port, int onoff)
> +static void dtr_rts(struct tty_port *port, bool onoff)
>  {
>         MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
>         unsigned long flags;
> diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
> index 47f58258d8ff..c6b4b2b2a4b2 100644
> --- a/drivers/mmc/core/sdio_uart.c
> +++ b/drivers/mmc/core/sdio_uart.c
> @@ -548,14 +548,14 @@ static bool uart_carrier_raised(struct tty_port *tport)
>   *     adjusted during an open, close and hangup.
>   */
>
> -static void uart_dtr_rts(struct tty_port *tport, int onoff)
> +static void uart_dtr_rts(struct tty_port *tport, bool onoff)
>  {
>         struct sdio_uart_port *port =
>                         container_of(tport, struct sdio_uart_port, port);
>         int ret = sdio_uart_claim_func(port);
>         if (ret)
>                 return;
> -       if (onoff == 0)
> +       if (!onoff)
>                 sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
>         else
>                 sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
> diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c
> index 90ff07f2cbf7..92d49740d5a4 100644
> --- a/drivers/staging/greybus/uart.c
> +++ b/drivers/staging/greybus/uart.c
> @@ -701,7 +701,7 @@ static int gb_tty_ioctl(struct tty_struct *tty, unsigned int cmd,
>         return -ENOIOCTLCMD;
>  }
>
> -static void gb_tty_dtr_rts(struct tty_port *port, int on)
> +static void gb_tty_dtr_rts(struct tty_port *port, bool on)
>  {
>         struct gb_tty *gb_tty;
>         u8 newctrl;
> diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
> index 01c4fd3ce7c8..29d4c554f6b8 100644
> --- a/drivers/tty/amiserial.c
> +++ b/drivers/tty/amiserial.c
> @@ -1459,7 +1459,7 @@ static bool amiga_carrier_raised(struct tty_port *port)
>         return !(ciab.pra & SER_DCD);
>  }
>
> -static void amiga_dtr_rts(struct tty_port *port, int raise)
> +static void amiga_dtr_rts(struct tty_port *port, bool raise)
>  {
>         struct serial_state *info = container_of(port, struct serial_state,
>                         tport);
> diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c
> index a683e21df19c..10c10cfdf92a 100644
> --- a/drivers/tty/hvc/hvc_console.c
> +++ b/drivers/tty/hvc/hvc_console.c
> @@ -376,7 +376,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
>                 /* We are ready... raise DTR/RTS */
>                 if (C_BAUD(tty))
>                         if (hp->ops->dtr_rts)
> -                               hp->ops->dtr_rts(hp, 1);
> +                               hp->ops->dtr_rts(hp, true);
>                 tty_port_set_initialized(&hp->port, true);
>         }
>
> @@ -406,7 +406,7 @@ static void hvc_close(struct tty_struct *tty, struct file * filp)
>
>                 if (C_HUPCL(tty))
>                         if (hp->ops->dtr_rts)
> -                               hp->ops->dtr_rts(hp, 0);
> +                               hp->ops->dtr_rts(hp, false);
>
>                 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 18d005814e4b..6d3428bf868f 100644
> --- a/drivers/tty/hvc/hvc_console.h
> +++ b/drivers/tty/hvc/hvc_console.h
> @@ -66,7 +66,7 @@ struct hv_ops {
>         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);
> +       void (*dtr_rts)(struct hvc_struct *hp, bool raise);
>  };
>
>  /* Register a vterm and a slot index for use as a console (console_init) */
> diff --git a/drivers/tty/hvc/hvc_iucv.c b/drivers/tty/hvc/hvc_iucv.c
> index 7d49a872de48..fe862a6882d6 100644
> --- a/drivers/tty/hvc/hvc_iucv.c
> +++ b/drivers/tty/hvc/hvc_iucv.c
> @@ -658,13 +658,13 @@ static void hvc_iucv_notifier_hangup(struct hvc_struct *hp, int id)
>  /**
>   * hvc_iucv_dtr_rts() - HVC notifier for handling DTR/RTS
>   * @hp:                Pointer the HVC device (struct hvc_struct)
> - * @raise:     Non-zero to raise or zero to lower DTR/RTS lines
> + * @raise:     True to raise or false to lower DTR/RTS lines
>   *
>   * This routine notifies the HVC back-end to raise or lower DTR/RTS
>   * lines.  Raising DTR/RTS is ignored.  Lowering DTR/RTS indicates to
>   * drop the IUCV connection (similar to hang up the modem).
>   */
> -static void hvc_iucv_dtr_rts(struct hvc_struct *hp, int raise)
> +static void hvc_iucv_dtr_rts(struct hvc_struct *hp, bool raise)
>  {
>         struct hvc_iucv_private *priv;
>         struct iucv_path        *path;
> diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
> index 6a1e78e33a2c..9be3d585d5a9 100644
> --- a/drivers/tty/moxa.c
> +++ b/drivers/tty/moxa.c
> @@ -502,15 +502,15 @@ static void moxa_poll(struct timer_list *);
>  static void moxa_set_tty_param(struct tty_struct *, const struct ktermios *);
>  static void moxa_shutdown(struct tty_port *);
>  static bool moxa_carrier_raised(struct tty_port *);
> -static void moxa_dtr_rts(struct tty_port *, int);
> +static void moxa_dtr_rts(struct tty_port *, bool);
>  /*
>   * moxa board interface functions:
>   */
>  static void MoxaPortEnable(struct moxa_port *);
>  static void MoxaPortDisable(struct moxa_port *);
>  static int MoxaPortSetTermio(struct moxa_port *, struct ktermios *, speed_t);
> -static int MoxaPortGetLineOut(struct moxa_port *, int *, int *);
> -static void MoxaPortLineCtrl(struct moxa_port *, int, int);
> +static int MoxaPortGetLineOut(struct moxa_port *, bool *, bool *);
> +static void MoxaPortLineCtrl(struct moxa_port *, bool, bool);
>  static void MoxaPortFlowCtrl(struct moxa_port *, int, int, int, int, int);
>  static int MoxaPortLineStatus(struct moxa_port *);
>  static void MoxaPortFlushData(struct moxa_port *, int);
> @@ -1443,7 +1443,7 @@ static bool moxa_carrier_raised(struct tty_port *port)
>         return dcd;
>  }
>
> -static void moxa_dtr_rts(struct tty_port *port, int onoff)
> +static void moxa_dtr_rts(struct tty_port *port, bool onoff)
>  {
>         struct moxa_port *ch = container_of(port, struct moxa_port, port);
>         MoxaPortLineCtrl(ch, onoff, onoff);
> @@ -1481,7 +1481,7 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)
>         if (!tty_port_initialized(&ch->port)) {
>                 ch->statusflags = 0;
>                 moxa_set_tty_param(tty, &tty->termios);
> -               MoxaPortLineCtrl(ch, 1, 1);
> +               MoxaPortLineCtrl(ch, true, true);
>                 MoxaPortEnable(ch);
>                 MoxaSetFifo(ch, ch->type == PORT_16550A);
>                 tty_port_set_initialized(&ch->port, true);
> @@ -1557,19 +1557,21 @@ static unsigned int moxa_chars_in_buffer(struct tty_struct *tty)
>  static int moxa_tiocmget(struct tty_struct *tty)
>  {
>         struct moxa_port *ch = tty->driver_data;
> -       int flag = 0, dtr, rts;
> +       bool dtr, rts;
> +       int flag = 0;
> +       int status;
>
>         MoxaPortGetLineOut(ch, &dtr, &rts);
>         if (dtr)
>                 flag |= TIOCM_DTR;
>         if (rts)
>                 flag |= TIOCM_RTS;
> -       dtr = MoxaPortLineStatus(ch);
> -       if (dtr & 1)
> +       status = MoxaPortLineStatus(ch);
> +       if (status & 1)
>                 flag |= TIOCM_CTS;
> -       if (dtr & 2)
> +       if (status & 2)
>                 flag |= TIOCM_DSR;
> -       if (dtr & 4)
> +       if (status & 4)
>                 flag |= TIOCM_CD;
>         return flag;
>  }
> @@ -1578,7 +1580,7 @@ static int moxa_tiocmset(struct tty_struct *tty,
>                          unsigned int set, unsigned int clear)
>  {
>         struct moxa_port *ch;
> -       int dtr, rts;
> +       bool dtr, rts;
>
>         mutex_lock(&moxa_openlock);
>         ch = tty->driver_data;
> @@ -1589,13 +1591,13 @@ static int moxa_tiocmset(struct tty_struct *tty,
>
>         MoxaPortGetLineOut(ch, &dtr, &rts);
>         if (set & TIOCM_RTS)
> -               rts = 1;
> +               rts = true;
>         if (set & TIOCM_DTR)
> -               dtr = 1;
> +               dtr = true;
>         if (clear & TIOCM_RTS)
> -               rts = 0;
> +               rts = false;
>         if (clear & TIOCM_DTR)
> -               dtr = 0;
> +               dtr = false;
>         MoxaPortLineCtrl(ch, dtr, rts);
>         mutex_unlock(&moxa_openlock);
>         return 0;
> @@ -1877,12 +1879,12 @@ static void MoxaPortFlushData(struct moxa_port *port, int mode)
>   *
>   *      Function 13:    Get the DTR/RTS state of this port.
>   *      Syntax:
> - *      int  MoxaPortGetLineOut(int port, int *dtrState, int *rtsState);
> + *      int  MoxaPortGetLineOut(int port, bool *dtrState, bool *rtsState);
>   *           int port           : port number (0 - 127)
> - *           int * dtrState     : pointer to INT to receive the current DTR
> + *           bool * dtrState    : pointer to bool to receive the current DTR
>   *                                state. (if NULL, this function will not
>   *                                write to this address)
> - *           int * rtsState     : pointer to INT to receive the current RTS
> + *           bool * rtsState    : pointer to bool to receive the current RTS
>   *                                state. (if NULL, this function will not
>   *                                write to this address)
>   *
> @@ -1892,10 +1894,10 @@ static void MoxaPortFlushData(struct moxa_port *port, int mode)
>   *
>   *      Function 14:    Setting the DTR/RTS output state of this port.
>   *      Syntax:
> - *      void MoxaPortLineCtrl(int port, int dtrState, int rtsState);
> + *      void MoxaPortLineCtrl(int port, bool dtrState, bool rtsState);
>   *           int port           : port number (0 - 127)
> - *           int dtrState       : DTR output state (0: off, 1: on)
> - *           int rtsState       : RTS output state (0: off, 1: on)
> + *           bool dtrState      : DTR output state
> + *           bool rtsState      : RTS output state
>   *
>   *
>   *      Function 15:    Setting the flow control of this port.
> @@ -2103,18 +2105,18 @@ static int MoxaPortSetTermio(struct moxa_port *port, struct ktermios *termio,
>         return baud;
>  }
>
> -static int MoxaPortGetLineOut(struct moxa_port *port, int *dtrState,
> -               int *rtsState)
> +static int MoxaPortGetLineOut(struct moxa_port *port, bool *dtrState,
> +               bool *rtsState)
>  {
>         if (dtrState)
> -               *dtrState = !!(port->lineCtrl & DTR_ON);
> +               *dtrState = port->lineCtrl & DTR_ON;
>         if (rtsState)
> -               *rtsState = !!(port->lineCtrl & RTS_ON);
> +               *rtsState = port->lineCtrl & RTS_ON;
>
>         return 0;
>  }
>
> -static void MoxaPortLineCtrl(struct moxa_port *port, int dtr, int rts)
> +static void MoxaPortLineCtrl(struct moxa_port *port, bool dtr, bool rts)
>  {
>         u8 mode = 0;
>
> diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
> index 96c72e691cd7..d4fb11e39bb1 100644
> --- a/drivers/tty/mxser.c
> +++ b/drivers/tty/mxser.c
> @@ -465,7 +465,7 @@ static bool mxser_carrier_raised(struct tty_port *port)
>         return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
>  }
>
> -static void mxser_dtr_rts(struct tty_port *port, int on)
> +static void mxser_dtr_rts(struct tty_port *port, bool on)
>  {
>         struct mxser_port *mp = container_of(port, struct mxser_port, port);
>         unsigned long flags;
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index 81fc2ec3693f..8dd0d6441c42 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -3792,7 +3792,7 @@ static bool gsm_carrier_raised(struct tty_port *port)
>         return dlci->modem_rx & TIOCM_CD;
>  }
>
> -static void gsm_dtr_rts(struct tty_port *port, int onoff)
> +static void gsm_dtr_rts(struct tty_port *port, bool onoff)
>  {
>         struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
>         unsigned int modem_tx = dlci->modem_tx;
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index 20ed8a088b2d..053535846ba2 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -169,7 +169,7 @@ uart_update_mctrl(struct uart_port *port, unsigned int set, unsigned int clear)
>  #define uart_set_mctrl(port, set)      uart_update_mctrl(port, set, 0)
>  #define uart_clear_mctrl(port, clear)  uart_update_mctrl(port, 0, clear)
>
> -static void uart_port_dtr_rts(struct uart_port *uport, int raise)
> +static void uart_port_dtr_rts(struct uart_port *uport, bool raise)
>  {
>         if (raise)
>                 uart_set_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
> @@ -239,7 +239,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
>                  * port is open and ready to respond.
>                  */
>                 if (init_hw && C_BAUD(tty))
> -                       uart_port_dtr_rts(uport, 1);
> +                       uart_port_dtr_rts(uport, true);
>         }
>
>         /*
> @@ -302,7 +302,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
>                 }
>
>                 if (!tty || C_HUPCL(tty))
> -                       uart_port_dtr_rts(uport, 0);
> +                       uart_port_dtr_rts(uport, false);
>
>                 uart_port_shutdown(port);
>         }
> @@ -1885,7 +1885,7 @@ static bool uart_carrier_raised(struct tty_port *port)
>         return mctrl & TIOCM_CAR;
>  }
>
> -static void uart_dtr_rts(struct tty_port *port, int raise)
> +static void uart_dtr_rts(struct tty_port *port, bool raise)
>  {
>         struct uart_state *state = container_of(port, struct uart_state, port);
>         struct uart_port *uport;
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 4ba71ec764f7..2b786265ce7b 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -3138,7 +3138,7 @@ static bool carrier_raised(struct tty_port *port)
>         return info->signals & SerialSignal_DCD;
>  }
>
> -static void dtr_rts(struct tty_port *port, int on)
> +static void dtr_rts(struct tty_port *port, bool on)
>  {
>         unsigned long flags;
>         struct slgt_info *info = container_of(port, struct slgt_info, port);
> diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
> index a573c500f95b..a788a6bf487d 100644
> --- a/drivers/tty/tty_port.c
> +++ b/drivers/tty/tty_port.c
> @@ -463,7 +463,7 @@ EXPORT_SYMBOL(tty_port_carrier_raised);
>  void tty_port_raise_dtr_rts(struct tty_port *port)
>  {
>         if (port->ops->dtr_rts)
> -               port->ops->dtr_rts(port, 1);
> +               port->ops->dtr_rts(port, true);
>  }
>  EXPORT_SYMBOL(tty_port_raise_dtr_rts);
>
> @@ -478,7 +478,7 @@ EXPORT_SYMBOL(tty_port_raise_dtr_rts);
>  void tty_port_lower_dtr_rts(struct tty_port *port)
>  {
>         if (port->ops->dtr_rts)
> -               port->ops->dtr_rts(port, 0);
> +               port->ops->dtr_rts(port, false);
>  }
>  EXPORT_SYMBOL(tty_port_lower_dtr_rts);
>
> diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
> index 36bf051b345b..d4f9220b8162 100644
> --- a/drivers/usb/class/cdc-acm.c
> +++ b/drivers/usb/class/cdc-acm.c
> @@ -651,7 +651,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
>         return tty_port_open(&acm->port, tty, filp);
>  }
>
> -static void acm_port_dtr_rts(struct tty_port *port, int raise)
> +static void acm_port_dtr_rts(struct tty_port *port, bool raise)
>  {
>         struct acm *acm = container_of(port, struct acm, port);
>         int val;
> diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
> index 792f01a4ed22..98ec4fe46914 100644
> --- a/drivers/usb/serial/ch341.c
> +++ b/drivers/usb/serial/ch341.c
> @@ -420,7 +420,7 @@ static bool ch341_carrier_raised(struct usb_serial_port *port)
>         return priv->msr & CH341_BIT_DCD;
>  }
>
> -static void ch341_dtr_rts(struct usb_serial_port *port, int on)
> +static void ch341_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct ch341_private *priv = usb_get_serial_port_data(port);
>         unsigned long flags;
> diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
> index 67372acc2352..fe2cdc477fb9 100644
> --- a/drivers/usb/serial/cp210x.c
> +++ b/drivers/usb/serial/cp210x.c
> @@ -45,7 +45,7 @@ static void cp210x_disconnect(struct usb_serial *);
>  static void cp210x_release(struct usb_serial *);
>  static int cp210x_port_probe(struct usb_serial_port *);
>  static void cp210x_port_remove(struct usb_serial_port *);
> -static void cp210x_dtr_rts(struct usb_serial_port *port, int on);
> +static void cp210x_dtr_rts(struct usb_serial_port *port, bool on);
>  static void cp210x_process_read_urb(struct urb *urb);
>  static void cp210x_enable_event_mode(struct usb_serial_port *port);
>  static void cp210x_disable_event_mode(struct usb_serial_port *port);
> @@ -1402,7 +1402,7 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port,
>         return ret;
>  }
>
> -static void cp210x_dtr_rts(struct usb_serial_port *port, int on)
> +static void cp210x_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         if (on)
>                 cp210x_tiocmset_port(port, TIOCM_DTR | TIOCM_RTS, 0);
> diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
> index 1e0c028c5ec9..7c6060c17ee0 100644
> --- a/drivers/usb/serial/cypress_m8.c
> +++ b/drivers/usb/serial/cypress_m8.c
> @@ -118,7 +118,7 @@ static int  cypress_ca42v2_port_probe(struct usb_serial_port *port);
>  static void cypress_port_remove(struct usb_serial_port *port);
>  static int  cypress_open(struct tty_struct *tty, struct usb_serial_port *port);
>  static void cypress_close(struct usb_serial_port *port);
> -static void cypress_dtr_rts(struct usb_serial_port *port, int on);
> +static void cypress_dtr_rts(struct usb_serial_port *port, bool on);
>  static int  cypress_write(struct tty_struct *tty, struct usb_serial_port *port,
>                         const unsigned char *buf, int count);
>  static void cypress_send(struct usb_serial_port *port);
> @@ -621,12 +621,12 @@ static int cypress_open(struct tty_struct *tty, struct usb_serial_port *port)
>         return result;
>  } /* cypress_open */
>
> -static void cypress_dtr_rts(struct usb_serial_port *port, int on)
> +static void cypress_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct cypress_private *priv = usb_get_serial_port_data(port);
>         /* drop dtr and rts */
>         spin_lock_irq(&priv->lock);
> -       if (on == 0)
> +       if (!on)
>                 priv->line_control = 0;
>         else
>                 priv->line_control = CONTROL_DTR | CONTROL_RTS;
> diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
> index 45d688e9b93f..890e446273d7 100644
> --- a/drivers/usb/serial/digi_acceleport.c
> +++ b/drivers/usb/serial/digi_acceleport.c
> @@ -228,7 +228,7 @@ static unsigned int digi_write_room(struct tty_struct *tty);
>  static unsigned int digi_chars_in_buffer(struct tty_struct *tty);
>  static int digi_open(struct tty_struct *tty, struct usb_serial_port *port);
>  static void digi_close(struct usb_serial_port *port);
> -static void digi_dtr_rts(struct usb_serial_port *port, int on);
> +static void digi_dtr_rts(struct usb_serial_port *port, bool on);
>  static int digi_startup_device(struct usb_serial *serial);
>  static int digi_startup(struct usb_serial *serial);
>  static void digi_disconnect(struct usb_serial *serial);
> @@ -1060,10 +1060,10 @@ static unsigned int digi_chars_in_buffer(struct tty_struct *tty)
>         return chars;
>  }
>
> -static void digi_dtr_rts(struct usb_serial_port *port, int on)
> +static void digi_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         /* Adjust DTR and RTS */
> -       digi_set_modem_signals(port, on * (TIOCM_DTR | TIOCM_RTS), 1);
> +       digi_set_modem_signals(port, on ? (TIOCM_DTR | TIOCM_RTS) : 0, 1);
>  }
>
>  static int digi_open(struct tty_struct *tty, struct usb_serial_port *port)
> diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
> index 1a8c2925c26f..1656be847460 100644
> --- a/drivers/usb/serial/f81232.c
> +++ b/drivers/usb/serial/f81232.c
> @@ -752,7 +752,7 @@ static void f81232_close(struct usb_serial_port *port)
>         flush_work(&port_priv->lsr_work);
>  }
>
> -static void f81232_dtr_rts(struct usb_serial_port *port, int on)
> +static void f81232_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         if (on)
>                 f81232_set_mctrl(port, TIOCM_DTR | TIOCM_RTS, 0);
> diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c
> index 4083ae961be4..8b44b08752d6 100644
> --- a/drivers/usb/serial/f81534.c
> +++ b/drivers/usb/serial/f81534.c
> @@ -1456,7 +1456,7 @@ static int f81534_tiocmset(struct tty_struct *tty, unsigned int set,
>         return f81534_update_mctrl(port, set, clear);
>  }
>
> -static void f81534_dtr_rts(struct usb_serial_port *port, int on)
> +static void f81534_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         if (on)
>                 f81534_update_mctrl(port, TIOCM_DTR | TIOCM_RTS, 0);
> diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
> index 05e28a5ce42b..09bdf623e94e 100644
> --- a/drivers/usb/serial/ftdi_sio.c
> +++ b/drivers/usb/serial/ftdi_sio.c
> @@ -2366,7 +2366,7 @@ static int ftdi_open(struct tty_struct *tty, struct usb_serial_port *port)
>         return usb_serial_generic_open(tty, port);
>  }
>
> -static void ftdi_dtr_rts(struct usb_serial_port *port, int on)
> +static void ftdi_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct ftdi_private *priv = usb_get_serial_port_data(port);
>
> diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
> index d04c7cc5c1c2..b1b7a033cc75 100644
> --- a/drivers/usb/serial/ipw.c
> +++ b/drivers/usb/serial/ipw.c
> @@ -215,7 +215,7 @@ static void ipw_release(struct usb_serial *serial)
>         kfree(data);
>  }
>
> -static void ipw_dtr_rts(struct usb_serial_port *port, int on)
> +static void ipw_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct usb_device *udev = port->serial->dev;
>         struct device *dev = &port->dev;
> diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
> index 2966e0c4941e..7e375367354b 100644
> --- a/drivers/usb/serial/keyspan.c
> +++ b/drivers/usb/serial/keyspan.c
> @@ -1564,7 +1564,7 @@ static int keyspan_open(struct tty_struct *tty, struct usb_serial_port *port)
>         return 0;
>  }
>
> -static void keyspan_dtr_rts(struct usb_serial_port *port, int on)
> +static void keyspan_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct keyspan_port_private *p_priv = usb_get_serial_port_data(port);
>
> diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
> index 6fd15cd9e1eb..cb16c4bc8555 100644
> --- a/drivers/usb/serial/keyspan_pda.c
> +++ b/drivers/usb/serial/keyspan_pda.c
> @@ -551,7 +551,7 @@ static int keyspan_pda_write(struct tty_struct *tty, struct usb_serial_port *por
>         return count;
>  }
>
> -static void keyspan_pda_dtr_rts(struct usb_serial_port *port, int on)
> +static void keyspan_pda_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct usb_serial *serial = port->serial;
>
> diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
> index d3852feb81a4..eb3520490dd2 100644
> --- a/drivers/usb/serial/mct_u232.c
> +++ b/drivers/usb/serial/mct_u232.c
> @@ -42,7 +42,7 @@ static int  mct_u232_port_probe(struct usb_serial_port *port);
>  static void mct_u232_port_remove(struct usb_serial_port *remove);
>  static int  mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port);
>  static void mct_u232_close(struct usb_serial_port *port);
> -static void mct_u232_dtr_rts(struct usb_serial_port *port, int on);
> +static void mct_u232_dtr_rts(struct usb_serial_port *port, bool on);
>  static void mct_u232_read_int_callback(struct urb *urb);
>  static void mct_u232_set_termios(struct tty_struct *tty,
>                                  struct usb_serial_port *port,
> @@ -477,7 +477,7 @@ static int  mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port)
>         return retval;
>  } /* mct_u232_open */
>
> -static void mct_u232_dtr_rts(struct usb_serial_port *port, int on)
> +static void mct_u232_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         unsigned int control_state;
>         struct mct_u232_private *priv = usb_get_serial_port_data(port);
> diff --git a/drivers/usb/serial/mxuport.c b/drivers/usb/serial/mxuport.c
> index faa0eedfe245..ac7594635719 100644
> --- a/drivers/usb/serial/mxuport.c
> +++ b/drivers/usb/serial/mxuport.c
> @@ -674,7 +674,7 @@ static int mxuport_set_rts(struct usb_serial_port *port, u8 state)
>         return err;
>  }
>
> -static void mxuport_dtr_rts(struct usb_serial_port *port, int on)
> +static void mxuport_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct mxuport_port *mxport = usb_get_serial_port_data(port);
>         u8 mcr_state;
> diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
> index 4cb81746a149..cb20911f35bb 100644
> --- a/drivers/usb/serial/pl2303.c
> +++ b/drivers/usb/serial/pl2303.c
> @@ -931,7 +931,7 @@ static void pl2303_set_termios(struct tty_struct *tty,
>         kfree(buf);
>  }
>
> -static void pl2303_dtr_rts(struct usb_serial_port *port, int on)
> +static void pl2303_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct pl2303_private *priv = usb_get_serial_port_data(port);
>         unsigned long flags;
> diff --git a/drivers/usb/serial/quatech2.c b/drivers/usb/serial/quatech2.c
> index 6fca40ace83a..6fd329ffec7e 100644
> --- a/drivers/usb/serial/quatech2.c
> +++ b/drivers/usb/serial/quatech2.c
> @@ -770,7 +770,7 @@ static void qt2_break_ctl(struct tty_struct *tty, int break_state)
>
>
>
> -static void qt2_dtr_rts(struct usb_serial_port *port, int on)
> +static void qt2_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct usb_device *dev = port->serial->dev;
>         struct qt2_port_private *port_priv = usb_get_serial_port_data(port);
> diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
> index 353b2549eaa8..f2c3a7af1a4a 100644
> --- a/drivers/usb/serial/sierra.c
> +++ b/drivers/usb/serial/sierra.c
> @@ -813,7 +813,7 @@ static int sierra_open(struct tty_struct *tty, struct usb_serial_port *port)
>  }
>
>
> -static void sierra_dtr_rts(struct usb_serial_port *port, int on)
> +static void sierra_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct sierra_port_private *portdata;
>
> diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
> index 8175db6c4554..02402ea3bd1b 100644
> --- a/drivers/usb/serial/spcp8x5.c
> +++ b/drivers/usb/serial/spcp8x5.c
> @@ -256,7 +256,7 @@ static bool spcp8x5_carrier_raised(struct usb_serial_port *port)
>         return ret || msr & MSR_STATUS_LINE_DCD;
>  }
>
> -static void spcp8x5_dtr_rts(struct usb_serial_port *port, int on)
> +static void spcp8x5_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct spcp8x5_private *priv = usb_get_serial_port_data(port);
>         unsigned long flags;
> diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c
> index 1e1888b66305..4cff39895804 100644
> --- a/drivers/usb/serial/ssu100.c
> +++ b/drivers/usb/serial/ssu100.c
> @@ -385,7 +385,7 @@ static int ssu100_tiocmset(struct tty_struct *tty,
>         return update_mctrl(dev, set, clear);
>  }
>
> -static void ssu100_dtr_rts(struct usb_serial_port *port, int on)
> +static void ssu100_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct usb_device *dev = port->serial->dev;
>
> diff --git a/drivers/usb/serial/upd78f0730.c b/drivers/usb/serial/upd78f0730.c
> index c47439bd90fa..206749fe3263 100644
> --- a/drivers/usb/serial/upd78f0730.c
> +++ b/drivers/usb/serial/upd78f0730.c
> @@ -262,7 +262,7 @@ static void upd78f0730_break_ctl(struct tty_struct *tty, int break_state)
>         mutex_unlock(&private->lock);
>  }
>
> -static void upd78f0730_dtr_rts(struct usb_serial_port *port, int on)
> +static void upd78f0730_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct tty_struct *tty = port->port.tty;
>         unsigned int set = 0;
> @@ -307,9 +307,9 @@ static void upd78f0730_set_termios(struct tty_struct *tty,
>                 return;
>
>         if (C_BAUD(tty) == B0)
> -               upd78f0730_dtr_rts(port, 0);
> +               upd78f0730_dtr_rts(port, false);
>         else if (old_termios && (old_termios->c_cflag & CBAUD) == B0)
> -               upd78f0730_dtr_rts(port, 1);
> +               upd78f0730_dtr_rts(port, true);
>
>         baud_rate = upd78f0730_get_baud_rate(tty);
>         request.opcode = UPD78F0730_CMD_LINE_CONTROL;
> diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
> index 019720a63fac..f8404073558b 100644
> --- a/drivers/usb/serial/usb-serial.c
> +++ b/drivers/usb/serial/usb-serial.c
> @@ -765,7 +765,7 @@ static bool serial_port_carrier_raised(struct tty_port *port)
>         return true;
>  }
>
> -static void serial_port_dtr_rts(struct tty_port *port, int on)
> +static void serial_port_dtr_rts(struct tty_port *port, bool on)
>  {
>         struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
>         struct usb_serial_driver *drv = p->serial->type;
> diff --git a/drivers/usb/serial/usb-wwan.h b/drivers/usb/serial/usb-wwan.h
> index 519101945769..b2a07dd44225 100644
> --- a/drivers/usb/serial/usb-wwan.h
> +++ b/drivers/usb/serial/usb-wwan.h
> @@ -6,7 +6,7 @@
>  #ifndef __LINUX_USB_USB_WWAN
>  #define __LINUX_USB_USB_WWAN
>
> -extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on);
> +extern void usb_wwan_dtr_rts(struct usb_serial_port *port, bool on);
>  extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port);
>  extern void usb_wwan_close(struct usb_serial_port *port);
>  extern int usb_wwan_port_probe(struct usb_serial_port *port);
> diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
> index 0017f6e969e1..168b11cc02b6 100644
> --- a/drivers/usb/serial/usb_wwan.c
> +++ b/drivers/usb/serial/usb_wwan.c
> @@ -69,7 +69,7 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
>         return res;
>  }
>
> -void usb_wwan_dtr_rts(struct usb_serial_port *port, int on)
> +void usb_wwan_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         struct usb_wwan_port_private *portdata;
>         struct usb_wwan_intf_private *intfdata;
> diff --git a/drivers/usb/serial/xr_serial.c b/drivers/usb/serial/xr_serial.c
> index fdb0aae546c3..9aaed09d45e4 100644
> --- a/drivers/usb/serial/xr_serial.c
> +++ b/drivers/usb/serial/xr_serial.c
> @@ -495,7 +495,7 @@ static int xr_tiocmset(struct tty_struct *tty,
>         return xr_tiocmset_port(port, set, clear);
>  }
>
> -static void xr_dtr_rts(struct usb_serial_port *port, int on)
> +static void xr_dtr_rts(struct usb_serial_port *port, bool on)
>  {
>         if (on)
>                 xr_tiocmset_port(port, TIOCM_DTR | TIOCM_RTS, 0);
> @@ -669,9 +669,9 @@ static void xr_set_flow_mode(struct tty_struct *tty,
>         xr_uart_enable(port);
>
>         if (C_BAUD(tty) == B0)
> -               xr_dtr_rts(port, 0);
> +               xr_dtr_rts(port, false);
>         else if (old_termios && (old_termios->c_cflag & CBAUD) == B0)
> -               xr_dtr_rts(port, 1);
> +               xr_dtr_rts(port, true);
>  }
>
>  static void xr21v141x_set_line_settings(struct tty_struct *tty,
> diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
> index cf098459cb01..c44e489de0ff 100644
> --- a/include/linux/tty_port.h
> +++ b/include/linux/tty_port.h
> @@ -16,7 +16,7 @@ struct tty_struct;
>  /**
>   * struct tty_port_operations -- operations on tty_port
>   * @carrier_raised: return true if the carrier is raised on @port
> - * @dtr_rts: raise the DTR line if @raise is nonzero, otherwise lower DTR
> + * @dtr_rts: raise the DTR line if @raise is true, otherwise lower DTR
>   * @shutdown: called when the last close completes or a hangup finishes IFF the
>   *     port was initialized. Do not use to free resources. Turn off the device
>   *     only. Called under the port mutex to serialize against @activate and
> @@ -32,7 +32,7 @@ struct tty_struct;
>   */
>  struct tty_port_operations {
>         bool (*carrier_raised)(struct tty_port *port);
> -       void (*dtr_rts)(struct tty_port *port, int raise);
> +       void (*dtr_rts)(struct tty_port *port, bool raise);
>         void (*shutdown)(struct tty_port *port);
>         int (*activate)(struct tty_port *port, struct tty_struct *tty);
>         void (*destruct)(struct tty_port *port);
> diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
> index dc7f90522b42..c597357853d9 100644
> --- a/include/linux/usb/serial.h
> +++ b/include/linux/usb/serial.h
> @@ -292,7 +292,7 @@ struct usb_serial_driver {
>                         struct serial_icounter_struct *icount);
>         /* Called by the tty layer for port level work. There may or may not
>            be an attached tty at this point */
> -       void (*dtr_rts)(struct usb_serial_port *port, int on);
> +       void (*dtr_rts)(struct usb_serial_port *port, bool on);
>         bool (*carrier_raised)(struct usb_serial_port *port);
>         /* Called by the usb serial hooks to allow the user to rework the
>            termios state */
> --
> 2.30.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool
  2023-01-11 14:23 ` [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool Ilpo Järvinen
  2023-01-11 17:25   ` Johan Hovold
@ 2023-01-13 11:50   ` Ulf Hansson
  1 sibling, 0 replies; 11+ messages in thread
From: Ulf Hansson @ 2023-01-13 11:50 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Johan Hovold,
	Samuel Iglesias Gonsálvez, Rodolfo Giometti, Arnd Bergmann,
	Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, linux-kernel, linux-mmc,
	linux-arm-kernel, linux-usb, linux-bluetooth, netdev

On Wed, 11 Jan 2023 at 15:24, Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> Return boolean from ->carrier_raised() instead of 0 and 1. Make the
> return type change also to tty_port_carrier_raised() that makes the
> ->carrier_raised() call (+ cd variable in moxa into which its return
> value is stored).
>
> Also cleans up a few unnecessary constructs related to this change:
>
>         return xx ? 1 : 0;
>         -> return xx;
>
>         if (xx)
>                 return 1;
>         return 0;
>         -> return xx;
>
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC

Kind regards
Uffe



> ---
>  drivers/char/pcmcia/synclink_cs.c | 8 +++-----
>  drivers/mmc/core/sdio_uart.c      | 7 +++----
>  drivers/tty/amiserial.c           | 2 +-
>  drivers/tty/moxa.c                | 4 ++--
>  drivers/tty/mxser.c               | 5 +++--
>  drivers/tty/n_gsm.c               | 8 ++++----
>  drivers/tty/serial/serial_core.c  | 9 ++++-----
>  drivers/tty/synclink_gt.c         | 7 ++++---
>  drivers/tty/tty_port.c            | 4 ++--
>  drivers/usb/serial/ch341.c        | 7 +++----
>  drivers/usb/serial/f81232.c       | 6 ++----
>  drivers/usb/serial/pl2303.c       | 7 ++-----
>  drivers/usb/serial/spcp8x5.c      | 7 ++-----
>  drivers/usb/serial/usb-serial.c   | 4 ++--
>  include/linux/tty_port.h          | 6 +++---
>  include/linux/usb/serial.h        | 2 +-
>  net/bluetooth/rfcomm/tty.c        | 2 +-
>  17 files changed, 42 insertions(+), 53 deletions(-)
>
> diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
> index baa46e8a094b..4391138e1b8a 100644
> --- a/drivers/char/pcmcia/synclink_cs.c
> +++ b/drivers/char/pcmcia/synclink_cs.c
> @@ -377,7 +377,7 @@ static void async_mode(MGSLPC_INFO *info);
>
>  static void tx_timeout(struct timer_list *t);
>
> -static int carrier_raised(struct tty_port *port);
> +static bool carrier_raised(struct tty_port *port);
>  static void dtr_rts(struct tty_port *port, int onoff);
>
>  #if SYNCLINK_GENERIC_HDLC
> @@ -2430,7 +2430,7 @@ static void mgslpc_hangup(struct tty_struct *tty)
>         tty_port_hangup(&info->port);
>  }
>
> -static int carrier_raised(struct tty_port *port)
> +static bool carrier_raised(struct tty_port *port)
>  {
>         MGSLPC_INFO *info = container_of(port, MGSLPC_INFO, port);
>         unsigned long flags;
> @@ -2439,9 +2439,7 @@ static int carrier_raised(struct tty_port *port)
>         get_signals(info);
>         spin_unlock_irqrestore(&info->lock, flags);
>
> -       if (info->serial_signals & SerialSignal_DCD)
> -               return 1;
> -       return 0;
> +       return info->serial_signals & SerialSignal_DCD;
>  }
>
>  static void dtr_rts(struct tty_port *port, int onoff)
> diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
> index ae7ef2e038be..47f58258d8ff 100644
> --- a/drivers/mmc/core/sdio_uart.c
> +++ b/drivers/mmc/core/sdio_uart.c
> @@ -526,7 +526,7 @@ static void sdio_uart_irq(struct sdio_func *func)
>         port->in_sdio_uart_irq = NULL;
>  }
>
> -static int uart_carrier_raised(struct tty_port *tport)
> +static bool uart_carrier_raised(struct tty_port *tport)
>  {
>         struct sdio_uart_port *port =
>                         container_of(tport, struct sdio_uart_port, port);
> @@ -535,9 +535,8 @@ static int uart_carrier_raised(struct tty_port *tport)
>                 return 1;
>         ret = sdio_uart_get_mctrl(port);
>         sdio_uart_release_func(port);
> -       if (ret & TIOCM_CAR)
> -               return 1;
> -       return 0;
> +
> +       return ret & TIOCM_CAR;
>  }
>
>  /**
> diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
> index 460d33a1e70b..01c4fd3ce7c8 100644
> --- a/drivers/tty/amiserial.c
> +++ b/drivers/tty/amiserial.c
> @@ -1454,7 +1454,7 @@ static const struct tty_operations serial_ops = {
>         .proc_show = rs_proc_show,
>  };
>
> -static int amiga_carrier_raised(struct tty_port *port)
> +static bool amiga_carrier_raised(struct tty_port *port)
>  {
>         return !(ciab.pra & SER_DCD);
>  }
> diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
> index 2d9635e14ded..6a1e78e33a2c 100644
> --- a/drivers/tty/moxa.c
> +++ b/drivers/tty/moxa.c
> @@ -501,7 +501,7 @@ static int moxa_tiocmset(struct tty_struct *tty,
>  static void moxa_poll(struct timer_list *);
>  static void moxa_set_tty_param(struct tty_struct *, const struct ktermios *);
>  static void moxa_shutdown(struct tty_port *);
> -static int moxa_carrier_raised(struct tty_port *);
> +static bool moxa_carrier_raised(struct tty_port *);
>  static void moxa_dtr_rts(struct tty_port *, int);
>  /*
>   * moxa board interface functions:
> @@ -1432,7 +1432,7 @@ static void moxa_shutdown(struct tty_port *port)
>         MoxaPortFlushData(ch, 2);
>  }
>
> -static int moxa_carrier_raised(struct tty_port *port)
> +static bool moxa_carrier_raised(struct tty_port *port)
>  {
>         struct moxa_port *ch = container_of(port, struct moxa_port, port);
>         int dcd;
> diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
> index 2926a831727d..96c72e691cd7 100644
> --- a/drivers/tty/mxser.c
> +++ b/drivers/tty/mxser.c
> @@ -458,10 +458,11 @@ static void __mxser_stop_tx(struct mxser_port *info)
>         outb(info->IER, info->ioaddr + UART_IER);
>  }
>
> -static int mxser_carrier_raised(struct tty_port *port)
> +static bool mxser_carrier_raised(struct tty_port *port)
>  {
>         struct mxser_port *mp = container_of(port, struct mxser_port, port);
> -       return (inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD)?1:0;
> +
> +       return inb(mp->ioaddr + UART_MSR) & UART_MSR_DCD;
>  }
>
>  static void mxser_dtr_rts(struct tty_port *port, int on)
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index 631539c17d85..81fc2ec3693f 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -3770,16 +3770,16 @@ static int gsm_modem_update(struct gsm_dlci *dlci, u8 brk)
>         return -EPROTONOSUPPORT;
>  }
>
> -static int gsm_carrier_raised(struct tty_port *port)
> +static bool gsm_carrier_raised(struct tty_port *port)
>  {
>         struct gsm_dlci *dlci = container_of(port, struct gsm_dlci, port);
>         struct gsm_mux *gsm = dlci->gsm;
>
>         /* Not yet open so no carrier info */
>         if (dlci->state != DLCI_OPEN)
> -               return 0;
> +               return false;
>         if (debug & DBG_CD_ON)
> -               return 1;
> +               return true;
>
>         /*
>          * Basic mode with control channel in ADM mode may not respond
> @@ -3787,7 +3787,7 @@ static int gsm_carrier_raised(struct tty_port *port)
>          */
>         if (gsm->encoding == GSM_BASIC_OPT &&
>             gsm->dlci[0]->mode == DLCI_MODE_ADM && !dlci->modem_rx)
> -               return 1;
> +               return true;
>
>         return dlci->modem_rx & TIOCM_CD;
>  }
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index f7074ac02801..20ed8a088b2d 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -1861,7 +1861,7 @@ static void uart_port_shutdown(struct tty_port *port)
>         }
>  }
>
> -static int uart_carrier_raised(struct tty_port *port)
> +static bool uart_carrier_raised(struct tty_port *port)
>  {
>         struct uart_state *state = container_of(port, struct uart_state, port);
>         struct uart_port *uport;
> @@ -1875,15 +1875,14 @@ static int uart_carrier_raised(struct tty_port *port)
>          * continue and not sleep
>          */
>         if (WARN_ON(!uport))
> -               return 1;
> +               return true;
>         spin_lock_irq(&uport->lock);
>         uart_enable_ms(uport);
>         mctrl = uport->ops->get_mctrl(uport);
>         spin_unlock_irq(&uport->lock);
>         uart_port_deref(uport);
> -       if (mctrl & TIOCM_CAR)
> -               return 1;
> -       return 0;
> +
> +       return mctrl & TIOCM_CAR;
>  }
>
>  static void uart_dtr_rts(struct tty_port *port, int raise)
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 81c94906f06e..4ba71ec764f7 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -3126,7 +3126,7 @@ static int tiocmset(struct tty_struct *tty,
>         return 0;
>  }
>
> -static int carrier_raised(struct tty_port *port)
> +static bool carrier_raised(struct tty_port *port)
>  {
>         unsigned long flags;
>         struct slgt_info *info = container_of(port, struct slgt_info, port);
> @@ -3134,7 +3134,8 @@ static int carrier_raised(struct tty_port *port)
>         spin_lock_irqsave(&info->lock,flags);
>         get_gtsignals(info);
>         spin_unlock_irqrestore(&info->lock,flags);
> -       return (info->signals & SerialSignal_DCD) ? 1 : 0;
> +
> +       return info->signals & SerialSignal_DCD;
>  }
>
>  static void dtr_rts(struct tty_port *port, int on)
> @@ -3162,7 +3163,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
>         int             retval;
>         bool            do_clocal = false;
>         unsigned long   flags;
> -       int             cd;
> +       bool            cd;
>         struct tty_port *port = &info->port;
>
>         DBGINFO(("%s block_til_ready\n", tty->driver->name));
> diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
> index 469de3c010b8..a573c500f95b 100644
> --- a/drivers/tty/tty_port.c
> +++ b/drivers/tty/tty_port.c
> @@ -444,10 +444,10 @@ EXPORT_SYMBOL_GPL(tty_port_tty_wakeup);
>   * to hide some internal details. This will eventually become entirely
>   * internal to the tty port.
>   */
> -int tty_port_carrier_raised(struct tty_port *port)
> +bool tty_port_carrier_raised(struct tty_port *port)
>  {
>         if (port->ops->carrier_raised == NULL)
> -               return 1;
> +               return true;
>         return port->ops->carrier_raised(port);
>  }
>  EXPORT_SYMBOL(tty_port_carrier_raised);
> diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
> index 6e1b87e67304..792f01a4ed22 100644
> --- a/drivers/usb/serial/ch341.c
> +++ b/drivers/usb/serial/ch341.c
> @@ -413,12 +413,11 @@ static void ch341_port_remove(struct usb_serial_port *port)
>         kfree(priv);
>  }
>
> -static int ch341_carrier_raised(struct usb_serial_port *port)
> +static bool ch341_carrier_raised(struct usb_serial_port *port)
>  {
>         struct ch341_private *priv = usb_get_serial_port_data(port);
> -       if (priv->msr & CH341_BIT_DCD)
> -               return 1;
> -       return 0;
> +
> +       return priv->msr & CH341_BIT_DCD;
>  }
>
>  static void ch341_dtr_rts(struct usb_serial_port *port, int on)
> diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
> index 891fb1fe69df..1a8c2925c26f 100644
> --- a/drivers/usb/serial/f81232.c
> +++ b/drivers/usb/serial/f81232.c
> @@ -774,7 +774,7 @@ static bool f81232_tx_empty(struct usb_serial_port *port)
>         return true;
>  }
>
> -static int f81232_carrier_raised(struct usb_serial_port *port)
> +static bool f81232_carrier_raised(struct usb_serial_port *port)
>  {
>         u8 msr;
>         struct f81232_private *priv = usb_get_serial_port_data(port);
> @@ -783,9 +783,7 @@ static int f81232_carrier_raised(struct usb_serial_port *port)
>         msr = priv->modem_status;
>         mutex_unlock(&priv->lock);
>
> -       if (msr & UART_MSR_DCD)
> -               return 1;
> -       return 0;
> +       return msr & UART_MSR_DCD;
>  }
>
>  static void f81232_get_serial(struct tty_struct *tty, struct serial_struct *ss)
> diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
> index 8949c1891164..4cb81746a149 100644
> --- a/drivers/usb/serial/pl2303.c
> +++ b/drivers/usb/serial/pl2303.c
> @@ -1050,14 +1050,11 @@ static int pl2303_tiocmget(struct tty_struct *tty)
>         return result;
>  }
>
> -static int pl2303_carrier_raised(struct usb_serial_port *port)
> +static bool pl2303_carrier_raised(struct usb_serial_port *port)
>  {
>         struct pl2303_private *priv = usb_get_serial_port_data(port);
>
> -       if (priv->line_status & UART_DCD)
> -               return 1;
> -
> -       return 0;
> +       return priv->line_status & UART_DCD;
>  }
>
>  static void pl2303_set_break(struct usb_serial_port *port, bool enable)
> diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
> index 09a972a838ee..8175db6c4554 100644
> --- a/drivers/usb/serial/spcp8x5.c
> +++ b/drivers/usb/serial/spcp8x5.c
> @@ -247,16 +247,13 @@ static void spcp8x5_set_work_mode(struct usb_serial_port *port, u16 value,
>                 dev_err(&port->dev, "failed to set work mode: %d\n", ret);
>  }
>
> -static int spcp8x5_carrier_raised(struct usb_serial_port *port)
> +static bool spcp8x5_carrier_raised(struct usb_serial_port *port)
>  {
>         u8 msr;
>         int ret;
>
>         ret = spcp8x5_get_msr(port, &msr);
> -       if (ret || msr & MSR_STATUS_LINE_DCD)
> -               return 1;
> -
> -       return 0;
> +       return ret || msr & MSR_STATUS_LINE_DCD;
>  }
>
>  static void spcp8x5_dtr_rts(struct usb_serial_port *port, int on)
> diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
> index 164521ee10c6..019720a63fac 100644
> --- a/drivers/usb/serial/usb-serial.c
> +++ b/drivers/usb/serial/usb-serial.c
> @@ -754,7 +754,7 @@ static struct usb_serial_driver *search_serial_device(
>         return NULL;
>  }
>
> -static int serial_port_carrier_raised(struct tty_port *port)
> +static bool serial_port_carrier_raised(struct tty_port *port)
>  {
>         struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
>         struct usb_serial_driver *drv = p->serial->type;
> @@ -762,7 +762,7 @@ static int serial_port_carrier_raised(struct tty_port *port)
>         if (drv->carrier_raised)
>                 return drv->carrier_raised(p);
>         /* No carrier control - don't block */
> -       return 1;
> +       return true;
>  }
>
>  static void serial_port_dtr_rts(struct tty_port *port, int on)
> diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
> index fa3c3bdaa234..cf098459cb01 100644
> --- a/include/linux/tty_port.h
> +++ b/include/linux/tty_port.h
> @@ -15,7 +15,7 @@ struct tty_struct;
>
>  /**
>   * struct tty_port_operations -- operations on tty_port
> - * @carrier_raised: return 1 if the carrier is raised on @port
> + * @carrier_raised: return true if the carrier is raised on @port
>   * @dtr_rts: raise the DTR line if @raise is nonzero, otherwise lower DTR
>   * @shutdown: called when the last close completes or a hangup finishes IFF the
>   *     port was initialized. Do not use to free resources. Turn off the device
> @@ -31,7 +31,7 @@ struct tty_struct;
>   *     the port itself.
>   */
>  struct tty_port_operations {
> -       int (*carrier_raised)(struct tty_port *port);
> +       bool (*carrier_raised)(struct tty_port *port);
>         void (*dtr_rts)(struct tty_port *port, int raise);
>         void (*shutdown)(struct tty_port *port);
>         int (*activate)(struct tty_port *port, struct tty_struct *tty);
> @@ -230,7 +230,7 @@ static inline void tty_port_set_kopened(struct tty_port *port, bool val)
>
>  struct tty_struct *tty_port_tty_get(struct tty_port *port);
>  void tty_port_tty_set(struct tty_port *port, struct tty_struct *tty);
> -int tty_port_carrier_raised(struct tty_port *port);
> +bool tty_port_carrier_raised(struct tty_port *port);
>  void tty_port_raise_dtr_rts(struct tty_port *port);
>  void tty_port_lower_dtr_rts(struct tty_port *port);
>  void tty_port_hangup(struct tty_port *port);
> diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
> index f7bfedb740f5..dc7f90522b42 100644
> --- a/include/linux/usb/serial.h
> +++ b/include/linux/usb/serial.h
> @@ -293,7 +293,7 @@ struct usb_serial_driver {
>         /* Called by the tty layer for port level work. There may or may not
>            be an attached tty at this point */
>         void (*dtr_rts)(struct usb_serial_port *port, int on);
> -       int  (*carrier_raised)(struct usb_serial_port *port);
> +       bool (*carrier_raised)(struct usb_serial_port *port);
>         /* Called by the usb serial hooks to allow the user to rework the
>            termios state */
>         void (*init_termios)(struct tty_struct *tty);
> diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
> index 8009e0e93216..5697df9d4394 100644
> --- a/net/bluetooth/rfcomm/tty.c
> +++ b/net/bluetooth/rfcomm/tty.c
> @@ -119,7 +119,7 @@ static int rfcomm_dev_activate(struct tty_port *port, struct tty_struct *tty)
>  }
>
>  /* we block the open until the dlc->state becomes BT_CONNECTED */
> -static int rfcomm_dev_carrier_raised(struct tty_port *port)
> +static bool rfcomm_dev_carrier_raised(struct tty_port *port)
>  {
>         struct rfcomm_dev *dev = container_of(port, struct rfcomm_dev, port);
>
> --
> 2.30.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-01-13 11:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20230111142331.34518-1-ilpo.jarvinen@linux.intel.com>
2023-01-11 14:23 ` [PATCH v3 01/13] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
2023-01-11 14:23 ` [PATCH v3 06/13] tty: Convert ->carrier_raised() and callchains to bool Ilpo Järvinen
2023-01-11 17:25   ` Johan Hovold
2023-01-13 11:50   ` Ulf Hansson
2023-01-11 14:23 ` [PATCH v3 07/13] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
2023-01-11 17:26   ` Johan Hovold
2023-01-13 11:50   ` Ulf Hansson
2023-01-11 14:23 ` [PATCH v3 09/13] serial: Make uart_handle_cts_change() status param bool active Ilpo Järvinen
2023-01-11 14:23 ` [PATCH v3 11/13] tty/serial: Call ->dtr_rts() parameter active consistently Ilpo Järvinen
2023-01-11 16:54   ` Johan Hovold
2023-01-13 11:49   ` Ulf Hansson

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).