linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] tty/serial: bool conversions and cleanups
@ 2023-01-04 15:15 Ilpo Järvinen
  2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
                   ` (9 more replies)
  0 siblings, 10 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby
  Cc: linux-kernel, Johan Hovold, Ilpo Järvinen

There are number of functions in tty/serial which have arguments or
return types that expect/behave like bool. Likely due to them existing
before bool was available, other types are used. Make conversions to
bool and cleanups.

Ilpo Järvinen (10):
  tty: Cleanup tty_port_set_initialized() bool parameter
  tty: Cleamup tty_port_set_suspended() bool parameter
  tty: Cleanup tty_port_set_active() bool parameter
  tty: moxa: Make local var storing tty_port_initialized() bool
  serial: Convert uart_{,port_}startup() init_hw param to bool
  tty: Convert ->carrier_raised() and callchains to bool
  tty: Convert ->dtr_rts() to take bool argument
  tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool
  serial: Make uart_handle_cts_change() status param bool
  tty: Return bool from tty_termios_hw_change()

 drivers/char/pcmcia/synclink_cs.c    | 16 ++++----
 drivers/ipack/devices/ipoctal.c      |  4 +-
 drivers/mmc/core/sdio_uart.c         | 11 +++---
 drivers/pps/clients/pps-ldisc.c      |  2 +-
 drivers/s390/char/con3215.c          |  4 +-
 drivers/staging/greybus/uart.c       |  2 +-
 drivers/tty/amiserial.c              | 10 ++---
 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                   | 24 ++++++------
 drivers/tty/mxser.c                  |  9 +++--
 drivers/tty/n_gsm.c                  | 14 +++----
 drivers/tty/serial/imx.c             |  2 +-
 drivers/tty/serial/max3100.c         |  2 +-
 drivers/tty/serial/max310x.c         |  3 +-
 drivers/tty/serial/serial_core.c     | 55 +++++++++++++---------------
 drivers/tty/serial/sunhv.c           |  8 ++--
 drivers/tty/synclink_gt.c            | 19 +++++-----
 drivers/tty/tty_ioctl.c              | 10 ++---
 drivers/tty/tty_port.c               | 22 +++++------
 drivers/usb/class/cdc-acm.c          |  2 +-
 drivers/usb/serial/ch341.c           |  9 ++---
 drivers/usb/serial/console.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          |  8 ++--
 drivers/usb/serial/f81534.c          |  2 +-
 drivers/usb/serial/ftdi_sio.c        |  2 +-
 drivers/usb/serial/generic.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          |  9 ++---
 drivers/usb/serial/quatech2.c        |  2 +-
 drivers/usb/serial/sierra.c          |  2 +-
 drivers/usb/serial/spcp8x5.c         |  9 ++---
 drivers/usb/serial/ssu100.c          |  2 +-
 drivers/usb/serial/upd78f0730.c      |  6 +--
 drivers/usb/serial/usb-serial.c      |  6 +--
 drivers/usb/serial/usb-wwan.h        |  2 +-
 drivers/usb/serial/usb_wwan.c        |  2 +-
 drivers/usb/serial/xr_serial.c       |  6 +--
 include/linux/serial_core.h          |  6 +--
 include/linux/tty.h                  |  2 +-
 include/linux/tty_ldisc.h            |  4 +-
 include/linux/tty_port.h             | 10 ++---
 include/linux/usb/serial.h           |  6 +--
 net/bluetooth/rfcomm/tty.c           |  2 +-
 52 files changed, 170 insertions(+), 188 deletions(-)

-- 
2.30.2


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

* [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:03   ` Jiri Slaby
  2023-01-05  7:23   ` Samuel Iglesias Gonsálvez
  2023-01-04 15:15 ` [PATCH 02/10] tty: Cleamup tty_port_set_suspended() " Ilpo Järvinen
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Arnd Bergmann,
	Samuel Iglesias Gonsalvez, Jens Taprogge, Heiko Carstens,
	Vasily Gorbik, Alexander Gordeev, Christian Borntraeger,
	Sven Schnelle, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Johan Hovold, linux-kernel,
	industrypack-devel, linux-s390, linux-arm-kernel, linux-usb
  Cc: Ilpo Järvinen

Make callers pass true/false consistently for bool val.

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


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

* [PATCH 02/10] tty: Cleamup tty_port_set_suspended() bool parameter
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
  2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:03   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 03/10] tty: Cleanup tty_port_set_active() " Ilpo Järvinen
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

Make callers pass true/false consistently for bool val.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/serial_core.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index e049c760b738..f9564b1e3dfb 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -312,7 +312,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
 	 * a DCD drop (hangup) at just the right time.  Clear suspended bit so
 	 * we don't try to resume a port that has been shutdown.
 	 */
-	tty_port_set_suspended(port, 0);
+	tty_port_set_suspended(port, false);
 
 	/*
 	 * Do not free() the transmit buffer page under the port lock since
@@ -1725,7 +1725,7 @@ static void uart_tty_port_shutdown(struct tty_port *port)
 	 * a DCD drop (hangup) at just the right time.  Clear suspended bit so
 	 * we don't try to resume a port that has been shutdown.
 	 */
-	tty_port_set_suspended(port, 0);
+	tty_port_set_suspended(port, false);
 
 	/*
 	 * Free the transmit buffer.
@@ -2346,7 +2346,7 @@ int uart_suspend_port(struct uart_driver *drv, struct uart_port *uport)
 		int tries;
 		unsigned int mctrl;
 
-		tty_port_set_suspended(port, 1);
+		tty_port_set_suspended(port, true);
 		tty_port_set_initialized(port, false);
 
 		spin_lock_irq(&uport->lock);
@@ -2469,7 +2469,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport)
 			}
 		}
 
-		tty_port_set_suspended(port, 0);
+		tty_port_set_suspended(port, false);
 	}
 
 	mutex_unlock(&port->mutex);
-- 
2.30.2


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

* [PATCH 03/10] tty: Cleanup tty_port_set_active() bool parameter
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
  2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
  2023-01-04 15:15 ` [PATCH 02/10] tty: Cleamup tty_port_set_suspended() " Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:03   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool Ilpo Järvinen
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

Make callers pass true/false consistently for bool val.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/amiserial.c          |  2 +-
 drivers/tty/serial/serial_core.c |  4 ++--
 drivers/tty/synclink_gt.c        |  6 +++---
 drivers/tty/tty_port.c           | 10 +++++-----
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
index f8cdce1626cb..460d33a1e70b 100644
--- a/drivers/tty/amiserial.c
+++ b/drivers/tty/amiserial.c
@@ -1329,7 +1329,7 @@ static void rs_hangup(struct tty_struct *tty)
 	rs_flush_buffer(tty);
 	shutdown(tty, info);
 	info->tport.count = 0;
-	tty_port_set_active(&info->tport, 0);
+	tty_port_set_active(&info->tport, false);
 	info->tport.tty = NULL;
 	wake_up_interruptible(&info->tport.open_wait);
 }
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index f9564b1e3dfb..c881fefa3d97 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -1827,7 +1827,7 @@ static void uart_hangup(struct tty_struct *tty)
 		spin_lock_irqsave(&port->lock, flags);
 		port->count = 0;
 		spin_unlock_irqrestore(&port->lock, flags);
-		tty_port_set_active(port, 0);
+		tty_port_set_active(port, false);
 		tty_port_tty_set(port, NULL);
 		if (uport && !uart_console(uport))
 			uart_change_pm(state, UART_PM_STATE_OFF);
@@ -1945,7 +1945,7 @@ static int uart_port_activate(struct tty_port *port, struct tty_struct *tty)
 	 */
 	ret = uart_startup(tty, state, 0);
 	if (ret > 0)
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 
 	return ret;
 }
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 2b96bf0ecafb..81c94906f06e 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -694,7 +694,7 @@ static void hangup(struct tty_struct *tty)
 	info->port.count = 0;
 	info->port.tty = NULL;
 	spin_unlock_irqrestore(&info->port.lock, flags);
-	tty_port_set_active(&info->port, 0);
+	tty_port_set_active(&info->port, false);
 	mutex_unlock(&info->port.mutex);
 
 	wake_up_interruptible(&info->port.open_wait);
@@ -3169,7 +3169,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
 
 	if (filp->f_flags & O_NONBLOCK || tty_io_error(tty)) {
 		/* nonblock mode is set or port is not enabled */
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 		return 0;
 	}
 
@@ -3226,7 +3226,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
 	port->blocked_open--;
 
 	if (!retval)
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 
 	DBGINFO(("%s block_til_ready ready, rc=%d\n", tty->driver->name, retval));
 	return retval;
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index 0c00d5bd6c88..469de3c010b8 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -403,7 +403,7 @@ void tty_port_hangup(struct tty_port *port)
 		set_bit(TTY_IO_ERROR, &tty->flags);
 	port->tty = NULL;
 	spin_unlock_irqrestore(&port->lock, flags);
-	tty_port_set_active(port, 0);
+	tty_port_set_active(port, false);
 	tty_port_shutdown(port, tty);
 	tty_kref_put(tty);
 	wake_up_interruptible(&port->open_wait);
@@ -518,14 +518,14 @@ int tty_port_block_til_ready(struct tty_port *port,
 	 * the port has just hung up or is in another error state.
 	 */
 	if (tty_io_error(tty)) {
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 		return 0;
 	}
 	if (filp == NULL || (filp->f_flags & O_NONBLOCK)) {
 		/* Indicate we are open */
 		if (C_BAUD(tty))
 			tty_port_raise_dtr_rts(port);
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 		return 0;
 	}
 
@@ -588,7 +588,7 @@ int tty_port_block_til_ready(struct tty_port *port,
 	port->blocked_open--;
 	spin_unlock_irqrestore(&port->lock, flags);
 	if (retval == 0)
-		tty_port_set_active(port, 1);
+		tty_port_set_active(port, true);
 	return retval;
 }
 EXPORT_SYMBOL(tty_port_block_til_ready);
@@ -695,7 +695,7 @@ void tty_port_close_end(struct tty_port *port, struct tty_struct *tty)
 		wake_up_interruptible(&port->open_wait);
 	}
 	spin_unlock_irqrestore(&port->lock, flags);
-	tty_port_set_active(port, 0);
+	tty_port_set_active(port, false);
 }
 EXPORT_SYMBOL(tty_port_close_end);
 
-- 
2.30.2


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

* [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (2 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 03/10] tty: Cleanup tty_port_set_active() " Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:04   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool Ilpo Järvinen
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

Return type of tty_port_initialized() is bool, use matching type for
the local variable.

Also reorder the local vars to reverse-xmas-tree while at it.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/moxa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index bc474f3c3f8f..2d9635e14ded 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -1664,8 +1664,8 @@ static int moxa_poll_port(struct moxa_port *p, unsigned int handle,
 		u16 __iomem *ip)
 {
 	struct tty_struct *tty = tty_port_tty_get(&p->port);
+	bool inited = tty_port_initialized(&p->port);
 	void __iomem *ofsAddr;
-	unsigned int inited = tty_port_initialized(&p->port);
 	u16 intr;
 
 	if (tty) {
-- 
2.30.2


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

* [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (3 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:05   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 06/10] tty: Convert ->carrier_raised() and callchains " Ilpo Järvinen
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

Convert init_hw parameter in uart_startup() and uart_port_startup() to
bool as code treats them like bool.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/serial_core.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index c881fefa3d97..a0260a40bdb9 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -181,8 +181,7 @@ static void uart_port_dtr_rts(struct uart_port *uport, int raise)
  * Startup the port.  This will be called once per open.  All calls
  * will be serialised by the per-port mutex.
  */
-static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
-		int init_hw)
+static int uart_port_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)
 {
 	struct uart_port *uport = uart_port_check(state);
 	unsigned long flags;
@@ -253,8 +252,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
 	return retval;
 }
 
-static int uart_startup(struct tty_struct *tty, struct uart_state *state,
-		int init_hw)
+static int uart_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)
 {
 	struct tty_port *port = &state->port;
 	int retval;
@@ -997,7 +995,7 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
 			uart_change_speed(tty, state, NULL);
 		}
 	} else {
-		retval = uart_startup(tty, state, 1);
+		retval = uart_startup(tty, state, true);
 		if (retval == 0)
 			tty_port_set_initialized(port, true);
 		if (retval > 0)
@@ -1165,7 +1163,7 @@ static int uart_do_autoconfig(struct tty_struct *tty, struct uart_state *state)
 		 */
 		uport->ops->config_port(uport, flags);
 
-		ret = uart_startup(tty, state, 1);
+		ret = uart_startup(tty, state, true);
 		if (ret == 0)
 			tty_port_set_initialized(port, true);
 		if (ret > 0)
@@ -1943,7 +1941,7 @@ static int uart_port_activate(struct tty_port *port, struct tty_struct *tty)
 	/*
 	 * Start up the serial port.
 	 */
-	ret = uart_startup(tty, state, 0);
+	ret = uart_startup(tty, state, false);
 	if (ret > 0)
 		tty_port_set_active(port, true);
 
-- 
2.30.2


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

* [PATCH 06/10] tty: Convert ->carrier_raised() and callchains to bool
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (4 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:13   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Arnd Bergmann,
	Ulf Hansson, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Johan Hovold, 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;

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 a0260a40bdb9..f91b27e2058a 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -1859,7 +1859,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;
@@ -1873,15 +1873,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


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

* [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (5 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 06/10] tty: Convert ->carrier_raised() and callchains " Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:19   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool Ilpo Järvinen
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Arnd Bergmann,
	Ulf Hansson, David Lin, Johan Hovold, 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.

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                   | 16 ++++++++--------
 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, 64 insertions(+), 64 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..d5726376420d 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -502,7 +502,7 @@ 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:
  */
@@ -510,7 +510,7 @@ 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 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);
@@ -1892,10 +1892,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)
+ *           int dtrState       : DTR output state
+ *           int rtsState       : RTS output state
  *
  *
  *      Function 15:    Setting the flow control of this port.
@@ -2114,7 +2114,7 @@ static int MoxaPortGetLineOut(struct moxa_port *port, int *dtrState,
 	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 f91b27e2058a..07b4af10a7e9 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);
@@ -238,7 +238,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state, b
 		 * 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);
 	}
 
 	/*
@@ -300,7 +300,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);
 	}
@@ -1883,7 +1883,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


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

* [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (6 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:21   ` Jiri Slaby
  2023-01-05  9:11   ` Rodolfo Giometti
  2023-01-04 15:15 ` [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool Ilpo Järvinen
  2023-01-04 15:15 ` [PATCH 10/10] tty: Return bool from tty_termios_hw_change() Ilpo Järvinen
  9 siblings, 2 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Rodolfo Giometti,
	David S. Miller, Johan Hovold, linux-kernel, sparclinux,
	linux-usb
  Cc: Ilpo Järvinen

Convert status parameter for ->dcd_change() and
uart_handle_dcd_change() to bool which matches to how the parameter is
used.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/pps/clients/pps-ldisc.c  | 2 +-
 drivers/tty/serial/serial_core.c | 4 ++--
 drivers/tty/serial/sunhv.c       | 8 ++++----
 drivers/usb/serial/generic.c     | 2 +-
 include/linux/serial_core.h      | 3 +--
 include/linux/tty_ldisc.h        | 4 ++--
 include/linux/usb/serial.h       | 2 +-
 7 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/drivers/pps/clients/pps-ldisc.c b/drivers/pps/clients/pps-ldisc.c
index d73c4c2ed4e1..67aee758ac1d 100644
--- a/drivers/pps/clients/pps-ldisc.c
+++ b/drivers/pps/clients/pps-ldisc.c
@@ -13,7 +13,7 @@
 #include <linux/pps_kernel.h>
 #include <linux/bug.h>
 
-static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status)
+static void pps_tty_dcd_change(struct tty_struct *tty, bool status)
 {
 	struct pps_device *pps;
 	struct pps_event_time ts;
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 07b4af10a7e9..76536c74e907 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -3250,11 +3250,11 @@ EXPORT_SYMBOL(uart_match_port);
 /**
  * uart_handle_dcd_change - handle a change of carrier detect state
  * @uport: uart_port structure for the open port
- * @status: new carrier detect status, nonzero if active
+ * @status: new carrier detect status, true if active
  *
  * Caller must hold uport->lock.
  */
-void uart_handle_dcd_change(struct uart_port *uport, unsigned int status)
+void uart_handle_dcd_change(struct uart_port *uport, bool status)
 {
 	struct tty_port *port = &uport->state->port;
 	struct tty_struct *tty = port->tty;
diff --git a/drivers/tty/serial/sunhv.c b/drivers/tty/serial/sunhv.c
index 16c746a63258..7d38c33ef506 100644
--- a/drivers/tty/serial/sunhv.c
+++ b/drivers/tty/serial/sunhv.c
@@ -87,10 +87,10 @@ static int receive_chars_getchar(struct uart_port *port)
 
 		if (c == CON_HUP) {
 			hung_up = 1;
-			uart_handle_dcd_change(port, 0);
+			uart_handle_dcd_change(port, false);
 		} else if (hung_up) {
 			hung_up = 0;
-			uart_handle_dcd_change(port, 1);
+			uart_handle_dcd_change(port, true);
 		}
 
 		if (port->state == NULL) {
@@ -133,7 +133,7 @@ static int receive_chars_read(struct uart_port *port)
 				bytes_read = 1;
 			} else if (stat == CON_HUP) {
 				hung_up = 1;
-				uart_handle_dcd_change(port, 0);
+				uart_handle_dcd_change(port, false);
 				continue;
 			} else {
 				/* HV_EWOULDBLOCK, etc.  */
@@ -143,7 +143,7 @@ static int receive_chars_read(struct uart_port *port)
 
 		if (hung_up) {
 			hung_up = 0;
-			uart_handle_dcd_change(port, 1);
+			uart_handle_dcd_change(port, true);
 		}
 
 		if (port->sysrq != 0 &&  *con_read_page) {
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index 15b6dee3a8e5..50016ee1026a 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -608,7 +608,7 @@ EXPORT_SYMBOL_GPL(usb_serial_handle_break);
  * @status: new carrier detect status, nonzero if active
  */
 void usb_serial_handle_dcd_change(struct usb_serial_port *port,
-				struct tty_struct *tty, unsigned int status)
+				struct tty_struct *tty, bool status)
 {
 	dev_dbg(&port->dev, "%s - status %d\n", __func__, status);
 
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index fd59f600094a..f1b69a36bb2b 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -896,8 +896,7 @@ static inline bool uart_softcts_mode(struct uart_port *uport)
  * The following are helper functions for the low level drivers.
  */
 
-extern void uart_handle_dcd_change(struct uart_port *uport,
-		unsigned int status);
+extern void uart_handle_dcd_change(struct uart_port *uport, bool status);
 extern void uart_handle_cts_change(struct uart_port *uport,
 		unsigned int status);
 
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h
index dcb61ec11424..8f4a684973c9 100644
--- a/include/linux/tty_ldisc.h
+++ b/include/linux/tty_ldisc.h
@@ -170,7 +170,7 @@ int ldsem_down_write_nested(struct ld_semaphore *sem, int subclass,
  *	send, please arise a tasklet or workqueue to do the real data transfer.
  *	Do not send data in this hook, it may lead to a deadlock.
  *
- * @dcd_change: [DRV] ``void ()(struct tty_struct *tty, unsigned int status)``
+ * @dcd_change: [DRV] ``void ()(struct tty_struct *tty, bool status)``
  *
  *	Tells the discipline that the DCD pin has changed its status. Used
  *	exclusively by the %N_PPS (Pulse-Per-Second) line discipline.
@@ -238,7 +238,7 @@ struct tty_ldisc_ops {
 	void	(*receive_buf)(struct tty_struct *tty, const unsigned char *cp,
 			       const char *fp, int count);
 	void	(*write_wakeup)(struct tty_struct *tty);
-	void	(*dcd_change)(struct tty_struct *tty, unsigned int status);
+	void	(*dcd_change)(struct tty_struct *tty, bool status);
 	int	(*receive_buf2)(struct tty_struct *tty, const unsigned char *cp,
 				const char *fp, int count);
 	void	(*lookahead_buf)(struct tty_struct *tty, const unsigned char *cp,
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
index c597357853d9..6fa608cb4d98 100644
--- a/include/linux/usb/serial.h
+++ b/include/linux/usb/serial.h
@@ -372,7 +372,7 @@ static inline int usb_serial_handle_break(struct usb_serial_port *port)
 #endif
 
 void usb_serial_handle_dcd_change(struct usb_serial_port *usb_port,
-		struct tty_struct *tty, unsigned int status);
+				  struct tty_struct *tty, bool status);
 
 
 int usb_serial_bus_register(struct usb_serial_driver *device);
-- 
2.30.2


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

* [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (7 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:23   ` Jiri Slaby
  2023-01-04 15:15 ` [PATCH 10/10] tty: Return bool from tty_termios_hw_change() Ilpo Järvinen
  9 siblings, 1 reply; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

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

Cleanup callsites from operations that are not necessary with bool.

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 | 4 ++--
 include/linux/serial_core.h      | 3 +--
 5 files changed, 6 insertions(+), 8 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 76536c74e907..35fff37e42bb 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -3285,11 +3285,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
+ * @status: new clear to send status, true if active
  *
  * 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 status)
 {
 	lockdep_assert_held_once(&uport->lock);
 
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index f1b69a36bb2b..591224505cb4 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 status);
-extern void uart_handle_cts_change(struct uart_port *uport,
-		unsigned int status);
+extern void uart_handle_cts_change(struct uart_port *uport, bool status);
 
 extern void uart_insert_char(struct uart_port *port, unsigned int status,
 		 unsigned int overrun, unsigned int ch, unsigned int flag);
-- 
2.30.2


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

* [PATCH 10/10] tty: Return bool from tty_termios_hw_change()
  2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
                   ` (8 preceding siblings ...)
  2023-01-04 15:15 ` [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool Ilpo Järvinen
@ 2023-01-04 15:15 ` Ilpo Järvinen
  2023-01-05  6:28   ` Jiri Slaby
  2023-01-05  9:27   ` Johan Hovold
  9 siblings, 2 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-04 15:15 UTC (permalink / raw)
  To: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
  Cc: Johan Hovold, Ilpo Järvinen

Change tty_termios_hw_change() return to bool and convert it to
a or-chained return statement.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/tty_ioctl.c | 10 ++++------
 include/linux/tty.h     |  2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c
index ce511557b98b..4a80fabf6d5e 100644
--- a/drivers/tty/tty_ioctl.c
+++ b/drivers/tty/tty_ioctl.c
@@ -270,13 +270,11 @@ EXPORT_SYMBOL(tty_termios_copy_hw);
  *	between the two termios structures, or a speed change is needed.
  */
 
-int tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
+bool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
 {
-	if (a->c_ispeed != b->c_ispeed || a->c_ospeed != b->c_ospeed)
-		return 1;
-	if ((a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL))
-		return 1;
-	return 0;
+	return a->c_ispeed != b->c_ispeed ||
+	       a->c_ospeed != b->c_ospeed ||
+	       (a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL);
 }
 EXPORT_SYMBOL(tty_termios_hw_change);
 
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 730c3301d710..093935e97f42 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -453,7 +453,7 @@ unsigned char tty_get_char_size(unsigned int cflag);
 unsigned char tty_get_frame_size(unsigned int cflag);
 
 void tty_termios_copy_hw(struct ktermios *new, const struct ktermios *old);
-int tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b);
+bool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b);
 int tty_set_termios(struct tty_struct *tty, struct ktermios *kt);
 
 void tty_wakeup(struct tty_struct *tty);
-- 
2.30.2


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

* Re: [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter
  2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
@ 2023-01-05  6:03   ` Jiri Slaby
  2023-01-05  7:23   ` Samuel Iglesias Gonsálvez
  1 sibling, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:03 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman,
	Arnd Bergmann, Samuel Iglesias Gonsalvez, Jens Taprogge,
	Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger, Sven Schnelle, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Johan Hovold, linux-kernel, industrypack-devel, linux-s390,
	linux-arm-kernel, linux-usb

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Make callers pass true/false consistently for bool val.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> ---
>   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 */

-- 
js
suse labs


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

* Re: [PATCH 02/10] tty: Cleamup tty_port_set_suspended() bool parameter
  2023-01-04 15:15 ` [PATCH 02/10] tty: Cleamup tty_port_set_suspended() " Ilpo Järvinen
@ 2023-01-05  6:03   ` Jiri Slaby
  0 siblings, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:03 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Make callers pass true/false consistently for bool val.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>


> ---
>   drivers/tty/serial/serial_core.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index e049c760b738..f9564b1e3dfb 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -312,7 +312,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
>   	 * a DCD drop (hangup) at just the right time.  Clear suspended bit so
>   	 * we don't try to resume a port that has been shutdown.
>   	 */
> -	tty_port_set_suspended(port, 0);
> +	tty_port_set_suspended(port, false);
>   
>   	/*
>   	 * Do not free() the transmit buffer page under the port lock since
> @@ -1725,7 +1725,7 @@ static void uart_tty_port_shutdown(struct tty_port *port)
>   	 * a DCD drop (hangup) at just the right time.  Clear suspended bit so
>   	 * we don't try to resume a port that has been shutdown.
>   	 */
> -	tty_port_set_suspended(port, 0);
> +	tty_port_set_suspended(port, false);
>   
>   	/*
>   	 * Free the transmit buffer.
> @@ -2346,7 +2346,7 @@ int uart_suspend_port(struct uart_driver *drv, struct uart_port *uport)
>   		int tries;
>   		unsigned int mctrl;
>   
> -		tty_port_set_suspended(port, 1);
> +		tty_port_set_suspended(port, true);
>   		tty_port_set_initialized(port, false);
>   
>   		spin_lock_irq(&uport->lock);
> @@ -2469,7 +2469,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport)
>   			}
>   		}
>   
> -		tty_port_set_suspended(port, 0);
> +		tty_port_set_suspended(port, false);
>   	}
>   
>   	mutex_unlock(&port->mutex);

-- 
js
suse labs


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

* Re: [PATCH 03/10] tty: Cleanup tty_port_set_active() bool parameter
  2023-01-04 15:15 ` [PATCH 03/10] tty: Cleanup tty_port_set_active() " Ilpo Järvinen
@ 2023-01-05  6:03   ` Jiri Slaby
  0 siblings, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:03 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Make callers pass true/false consistently for bool val.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> ---
>   drivers/tty/amiserial.c          |  2 +-
>   drivers/tty/serial/serial_core.c |  4 ++--
>   drivers/tty/synclink_gt.c        |  6 +++---
>   drivers/tty/tty_port.c           | 10 +++++-----
>   4 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
> index f8cdce1626cb..460d33a1e70b 100644
> --- a/drivers/tty/amiserial.c
> +++ b/drivers/tty/amiserial.c
> @@ -1329,7 +1329,7 @@ static void rs_hangup(struct tty_struct *tty)
>   	rs_flush_buffer(tty);
>   	shutdown(tty, info);
>   	info->tport.count = 0;
> -	tty_port_set_active(&info->tport, 0);
> +	tty_port_set_active(&info->tport, false);
>   	info->tport.tty = NULL;
>   	wake_up_interruptible(&info->tport.open_wait);
>   }
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index f9564b1e3dfb..c881fefa3d97 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -1827,7 +1827,7 @@ static void uart_hangup(struct tty_struct *tty)
>   		spin_lock_irqsave(&port->lock, flags);
>   		port->count = 0;
>   		spin_unlock_irqrestore(&port->lock, flags);
> -		tty_port_set_active(port, 0);
> +		tty_port_set_active(port, false);
>   		tty_port_tty_set(port, NULL);
>   		if (uport && !uart_console(uport))
>   			uart_change_pm(state, UART_PM_STATE_OFF);
> @@ -1945,7 +1945,7 @@ static int uart_port_activate(struct tty_port *port, struct tty_struct *tty)
>   	 */
>   	ret = uart_startup(tty, state, 0);
>   	if (ret > 0)
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   
>   	return ret;
>   }
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 2b96bf0ecafb..81c94906f06e 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -694,7 +694,7 @@ static void hangup(struct tty_struct *tty)
>   	info->port.count = 0;
>   	info->port.tty = NULL;
>   	spin_unlock_irqrestore(&info->port.lock, flags);
> -	tty_port_set_active(&info->port, 0);
> +	tty_port_set_active(&info->port, false);
>   	mutex_unlock(&info->port.mutex);
>   
>   	wake_up_interruptible(&info->port.open_wait);
> @@ -3169,7 +3169,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
>   
>   	if (filp->f_flags & O_NONBLOCK || tty_io_error(tty)) {
>   		/* nonblock mode is set or port is not enabled */
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   		return 0;
>   	}
>   
> @@ -3226,7 +3226,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
>   	port->blocked_open--;
>   
>   	if (!retval)
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   
>   	DBGINFO(("%s block_til_ready ready, rc=%d\n", tty->driver->name, retval));
>   	return retval;
> diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
> index 0c00d5bd6c88..469de3c010b8 100644
> --- a/drivers/tty/tty_port.c
> +++ b/drivers/tty/tty_port.c
> @@ -403,7 +403,7 @@ void tty_port_hangup(struct tty_port *port)
>   		set_bit(TTY_IO_ERROR, &tty->flags);
>   	port->tty = NULL;
>   	spin_unlock_irqrestore(&port->lock, flags);
> -	tty_port_set_active(port, 0);
> +	tty_port_set_active(port, false);
>   	tty_port_shutdown(port, tty);
>   	tty_kref_put(tty);
>   	wake_up_interruptible(&port->open_wait);
> @@ -518,14 +518,14 @@ int tty_port_block_til_ready(struct tty_port *port,
>   	 * the port has just hung up or is in another error state.
>   	 */
>   	if (tty_io_error(tty)) {
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   		return 0;
>   	}
>   	if (filp == NULL || (filp->f_flags & O_NONBLOCK)) {
>   		/* Indicate we are open */
>   		if (C_BAUD(tty))
>   			tty_port_raise_dtr_rts(port);
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   		return 0;
>   	}
>   
> @@ -588,7 +588,7 @@ int tty_port_block_til_ready(struct tty_port *port,
>   	port->blocked_open--;
>   	spin_unlock_irqrestore(&port->lock, flags);
>   	if (retval == 0)
> -		tty_port_set_active(port, 1);
> +		tty_port_set_active(port, true);
>   	return retval;
>   }
>   EXPORT_SYMBOL(tty_port_block_til_ready);
> @@ -695,7 +695,7 @@ void tty_port_close_end(struct tty_port *port, struct tty_struct *tty)
>   		wake_up_interruptible(&port->open_wait);
>   	}
>   	spin_unlock_irqrestore(&port->lock, flags);
> -	tty_port_set_active(port, 0);
> +	tty_port_set_active(port, false);
>   }
>   EXPORT_SYMBOL(tty_port_close_end);
>   

-- 
js
suse labs


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

* Re: [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool
  2023-01-04 15:15 ` [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool Ilpo Järvinen
@ 2023-01-05  6:04   ` Jiri Slaby
  0 siblings, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:04 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Return type of tty_port_initialized() is bool, use matching type for
> the local variable.
> 
> Also reorder the local vars to reverse-xmas-tree while at it.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> ---
>   drivers/tty/moxa.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
> index bc474f3c3f8f..2d9635e14ded 100644
> --- a/drivers/tty/moxa.c
> +++ b/drivers/tty/moxa.c
> @@ -1664,8 +1664,8 @@ static int moxa_poll_port(struct moxa_port *p, unsigned int handle,
>   		u16 __iomem *ip)
>   {
>   	struct tty_struct *tty = tty_port_tty_get(&p->port);
> +	bool inited = tty_port_initialized(&p->port);
>   	void __iomem *ofsAddr;
> -	unsigned int inited = tty_port_initialized(&p->port);
>   	u16 intr;
>   
>   	if (tty) {

-- 
js
suse labs


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

* Re: [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool
  2023-01-04 15:15 ` [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool Ilpo Järvinen
@ 2023-01-05  6:05   ` Jiri Slaby
  2023-01-05  8:48     ` Ilpo Järvinen
  2023-01-05  9:12     ` Johan Hovold
  0 siblings, 2 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:05 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Convert init_hw parameter in uart_startup() and uart_port_startup() to
> bool as code treats them like bool.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>   drivers/tty/serial/serial_core.c | 12 +++++-------
>   1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index c881fefa3d97..a0260a40bdb9 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -181,8 +181,7 @@ static void uart_port_dtr_rts(struct uart_port *uport, int raise)
>    * Startup the port.  This will be called once per open.  All calls
>    * will be serialised by the per-port mutex.
>    */
> -static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
> -		int init_hw)
> +static int uart_port_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)
>   {
>   	struct uart_port *uport = uart_port_check(state);
>   	unsigned long flags;
> @@ -253,8 +252,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
>   	return retval;
>   }
>   
> -static int uart_startup(struct tty_struct *tty, struct uart_state *state,
> -		int init_hw)
> +static int uart_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)

You made both of them over 80 characters/line. Why?

thanks,
-- 
js
suse labs


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

* Re: [PATCH 06/10] tty: Convert ->carrier_raised() and callchains to bool
  2023-01-04 15:15 ` [PATCH 06/10] tty: Convert ->carrier_raised() and callchains " Ilpo Järvinen
@ 2023-01-05  6:13   ` Jiri Slaby
  0 siblings, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:13 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman,
	Arnd Bergmann, Ulf Hansson, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Johan Hovold, 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 04. 01. 23, 16:15, 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;
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>


> ---
>   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 a0260a40bdb9..f91b27e2058a 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -1859,7 +1859,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;
> @@ -1873,15 +1873,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);
>   

-- 
js
suse labs


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

* Re: [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument
  2023-01-04 15:15 ` [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
@ 2023-01-05  6:19   ` Jiri Slaby
  2023-01-05  8:51     ` Ilpo Järvinen
  0 siblings, 1 reply; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:19 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman,
	Arnd Bergmann, Ulf Hansson, David Lin, Johan Hovold, 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 04. 01. 23, 16:15, 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.

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
...
> --- 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);

Not anything for this patch, but having this dubbed "onoff" instead of 
"on" makes it really confusing.

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

Especially here. What does "!onoff" mean? If it were:

if (on)
   sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
else
   sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);

it would be a lot more clear.

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

Or "raise". That makes sense too and we call it as such in 
tty_port_operations:

> --- a/include/linux/tty_port.h
> +++ b/include/linux/tty_port.h
...
> @@ -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);

Care to fix that up too?

thanks,
-- 
js
suse labs


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

* Re: [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool
  2023-01-04 15:15 ` [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool Ilpo Järvinen
@ 2023-01-05  6:21   ` Jiri Slaby
  2023-01-05  9:11   ` Rodolfo Giometti
  1 sibling, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:21 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman,
	Rodolfo Giometti, David S. Miller, Johan Hovold, linux-kernel,
	sparclinux, linux-usb

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Convert status parameter for ->dcd_change() and
> uart_handle_dcd_change() to bool which matches to how the parameter is
> used.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> --- a/include/linux/serial_core.h
> +++ b/include/linux/serial_core.h
> @@ -896,8 +896,7 @@ static inline bool uart_softcts_mode(struct uart_port *uport)
>    * The following are helper functions for the low level drivers.
>    */
>   
> -extern void uart_handle_dcd_change(struct uart_port *uport,
> -		unsigned int status);
> +extern void uart_handle_dcd_change(struct uart_port *uport, bool status);
>   extern void uart_handle_cts_change(struct uart_port *uport,
>   		unsigned int status);
Note to myself: huh, we still have some superfluous "extern"s in headers.

thanks,
-- 
-- 
js
suse labs


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

* Re: [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool
  2023-01-04 15:15 ` [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool Ilpo Järvinen
@ 2023-01-05  6:23   ` Jiri Slaby
  2023-01-05  8:55     ` Ilpo Järvinen
  2023-01-05  9:25     ` Johan Hovold
  0 siblings, 2 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:23 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Convert uart_handle_cts_change() to bool which is more appropriate
> than unsigned int.
> 
> Cleanup callsites from operations that are not necessary with bool.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
...
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -3285,11 +3285,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
> + * @status: new clear to send status, true if active

ANyone else having troubles to parse "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 status)

This should be "bool active" then.

thanks,
-- 
js
suse labs


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

* Re: [PATCH 10/10] tty: Return bool from tty_termios_hw_change()
  2023-01-04 15:15 ` [PATCH 10/10] tty: Return bool from tty_termios_hw_change() Ilpo Järvinen
@ 2023-01-05  6:28   ` Jiri Slaby
  2023-01-05  9:27   ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Jiri Slaby @ 2023-01-05  6:28 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel
  Cc: Johan Hovold

On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> Change tty_termios_hw_change() return to bool and convert it to

If you are going to resend, should it be "to return bool" instead?

> a or-chained return statement.

and s/a/an/

> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

> ---
>   drivers/tty/tty_ioctl.c | 10 ++++------
>   include/linux/tty.h     |  2 +-
>   2 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c
> index ce511557b98b..4a80fabf6d5e 100644
> --- a/drivers/tty/tty_ioctl.c
> +++ b/drivers/tty/tty_ioctl.c
> @@ -270,13 +270,11 @@ EXPORT_SYMBOL(tty_termios_copy_hw);
>    *	between the two termios structures, or a speed change is needed.
>    */
>   
> -int tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
> +bool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
>   {
> -	if (a->c_ispeed != b->c_ispeed || a->c_ospeed != b->c_ospeed)
> -		return 1;
> -	if ((a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL))
> -		return 1;
> -	return 0;
> +	return a->c_ispeed != b->c_ispeed ||
> +	       a->c_ospeed != b->c_ospeed ||
> +	       (a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL);
>   }
>   EXPORT_SYMBOL(tty_termios_hw_change);
>   
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 730c3301d710..093935e97f42 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -453,7 +453,7 @@ unsigned char tty_get_char_size(unsigned int cflag);
>   unsigned char tty_get_frame_size(unsigned int cflag);
>   
>   void tty_termios_copy_hw(struct ktermios *new, const struct ktermios *old);
> -int tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b);
> +bool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b);
>   int tty_set_termios(struct tty_struct *tty, struct ktermios *kt);
>   
>   void tty_wakeup(struct tty_struct *tty);

-- 
js
suse labs


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

* Re: [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter
  2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
  2023-01-05  6:03   ` Jiri Slaby
@ 2023-01-05  7:23   ` Samuel Iglesias Gonsálvez
  1 sibling, 0 replies; 29+ messages in thread
From: Samuel Iglesias Gonsálvez @ 2023-01-05  7:23 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	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, Johan Hovold, linux-kernel, industrypack-devel,
	linux-s390, linux-arm-kernel, linux-usb


[-- Attachment #1.1.1: Type: text/plain, Size: 9754 bytes --]


On 1/4/23 16:15, Ilpo Järvinen wrote:
> Make callers pass true/false consistently for bool val.
Reviewed-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
> 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 */

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8053 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

* Re: [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool
  2023-01-05  6:05   ` Jiri Slaby
@ 2023-01-05  8:48     ` Ilpo Järvinen
  2023-01-05  9:12     ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-05  8:48 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: linux-serial, Greg Kroah-Hartman, LKML, Johan Hovold

[-- Attachment #1: Type: text/plain, Size: 1674 bytes --]

On Thu, 5 Jan 2023, Jiri Slaby wrote:

> On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> > Convert init_hw parameter in uart_startup() and uart_port_startup() to
> > bool as code treats them like bool.
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > ---
> >   drivers/tty/serial/serial_core.c | 12 +++++-------
> >   1 file changed, 5 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/tty/serial/serial_core.c
> > b/drivers/tty/serial/serial_core.c
> > index c881fefa3d97..a0260a40bdb9 100644
> > --- a/drivers/tty/serial/serial_core.c
> > +++ b/drivers/tty/serial/serial_core.c
> > @@ -181,8 +181,7 @@ static void uart_port_dtr_rts(struct uart_port *uport,
> > int raise)
> >    * Startup the port.  This will be called once per open.  All calls
> >    * will be serialised by the per-port mutex.
> >    */
> > -static int uart_port_startup(struct tty_struct *tty, struct uart_state
> > *state,
> > -		int init_hw)
> > +static int uart_port_startup(struct tty_struct *tty, struct uart_state
> > *state, bool init_hw)
> >   {
> >   	struct uart_port *uport = uart_port_check(state);
> >   	unsigned long flags;
> > @@ -253,8 +252,7 @@ static int uart_port_startup(struct tty_struct *tty,
> > struct uart_state *state,
> >   	return retval;
> >   }
> >   -static int uart_startup(struct tty_struct *tty, struct uart_state *state,
> > -		int init_hw)
> > +static int uart_startup(struct tty_struct *tty, struct uart_state *state,
> > bool init_hw)
> 
> You made both of them over 80 characters/line. Why?

I've started to use 100 chars/line especially for things which are 
naturally long such as these. But I can change that back.

-- 
 i.

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

* Re: [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument
  2023-01-05  6:19   ` Jiri Slaby
@ 2023-01-05  8:51     ` Ilpo Järvinen
  0 siblings, 0 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-05  8:51 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: linux-serial, Greg Kroah-Hartman, Arnd Bergmann, Ulf Hansson,
	David Lin, Johan Hovold, Alex Elder, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	Oliver Neukum, LKML, linux-mmc, greybus-dev, linux-staging,
	linuxppc-dev, linux-arm-kernel, linux-usb

[-- Attachment #1: Type: text/plain, Size: 3064 bytes --]

On Thu, 5 Jan 2023, Jiri Slaby wrote:

> On 04. 01. 23, 16:15, 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.
> 
> Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > ---
> ...
> > --- 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);
> 
> Not anything for this patch, but having this dubbed "onoff" instead of "on"
> makes it really confusing.
> 
> > --- 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);
> 
> Especially here. What does "!onoff" mean? If it were:
> 
> if (on)
>   sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
> else
>   sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
> 
> it would be a lot more clear.
> 
> > --- 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)
> 
> Or "raise". That makes sense too and we call it as such in
> tty_port_operations:
> 
> > --- a/include/linux/tty_port.h
> > +++ b/include/linux/tty_port.h
> ...
> > @@ -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);
> 
> Care to fix that up too?

Sure. I noticed they were inconsistent but it didn't feel like changing 
the name "while at it" would be good as this is long already. I think I'll 
make another patch out of the name changes.

-- 
 i.

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

* Re: [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool
  2023-01-05  6:23   ` Jiri Slaby
@ 2023-01-05  8:55     ` Ilpo Järvinen
  2023-01-05  9:25     ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Ilpo Järvinen @ 2023-01-05  8:55 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: linux-serial, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel, LKML, Johan Hovold

[-- Attachment #1: Type: text/plain, Size: 1206 bytes --]

On Thu, 5 Jan 2023, Jiri Slaby wrote:

> On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> > Convert uart_handle_cts_change() to bool which is more appropriate
> > than unsigned int.
> > 
> > Cleanup callsites from operations that are not necessary with bool.
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ...
> > --- a/drivers/tty/serial/serial_core.c
> > +++ b/drivers/tty/serial/serial_core.c
> > @@ -3285,11 +3285,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
> > + * @status: new clear to send status, true if active
> 
> ANyone else having troubles to parse "new clear to send status"?

I could change that into new clear-to-send status while at it.

> >    *
> >    * 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 status)
> 
> This should be "bool active" then.

Yeah. I'll change in the previous patch too which also had "status".

-- 
 i.

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

* Re: [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool
  2023-01-04 15:15 ` [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool Ilpo Järvinen
  2023-01-05  6:21   ` Jiri Slaby
@ 2023-01-05  9:11   ` Rodolfo Giometti
  1 sibling, 0 replies; 29+ messages in thread
From: Rodolfo Giometti @ 2023-01-05  9:11 UTC (permalink / raw)
  To: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	David S. Miller, Johan Hovold, linux-kernel, sparclinux,
	linux-usb

On 04/01/23 16:15, Ilpo Järvinen wrote:
> Convert status parameter for ->dcd_change() and
> uart_handle_dcd_change() to bool which matches to how the parameter is
> used.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>   drivers/pps/clients/pps-ldisc.c  | 2 +-

Acked-by: Rodolfo Giometti <giometti@enneenne.com>

>   drivers/tty/serial/serial_core.c | 4 ++--
>   drivers/tty/serial/sunhv.c       | 8 ++++----
>   drivers/usb/serial/generic.c     | 2 +-
>   include/linux/serial_core.h      | 3 +--
>   include/linux/tty_ldisc.h        | 4 ++--
>   include/linux/usb/serial.h       | 2 +-
>   7 files changed, 12 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/pps/clients/pps-ldisc.c b/drivers/pps/clients/pps-ldisc.c
> index d73c4c2ed4e1..67aee758ac1d 100644
> --- a/drivers/pps/clients/pps-ldisc.c
> +++ b/drivers/pps/clients/pps-ldisc.c
> @@ -13,7 +13,7 @@
>   #include <linux/pps_kernel.h>
>   #include <linux/bug.h>
>   
> -static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status)
> +static void pps_tty_dcd_change(struct tty_struct *tty, bool status)
>   {
>   	struct pps_device *pps;
>   	struct pps_event_time ts;
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index 07b4af10a7e9..76536c74e907 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -3250,11 +3250,11 @@ EXPORT_SYMBOL(uart_match_port);
>   /**
>    * uart_handle_dcd_change - handle a change of carrier detect state
>    * @uport: uart_port structure for the open port
> - * @status: new carrier detect status, nonzero if active
> + * @status: new carrier detect status, true if active
>    *
>    * Caller must hold uport->lock.
>    */
> -void uart_handle_dcd_change(struct uart_port *uport, unsigned int status)
> +void uart_handle_dcd_change(struct uart_port *uport, bool status)
>   {
>   	struct tty_port *port = &uport->state->port;
>   	struct tty_struct *tty = port->tty;
> diff --git a/drivers/tty/serial/sunhv.c b/drivers/tty/serial/sunhv.c
> index 16c746a63258..7d38c33ef506 100644
> --- a/drivers/tty/serial/sunhv.c
> +++ b/drivers/tty/serial/sunhv.c
> @@ -87,10 +87,10 @@ static int receive_chars_getchar(struct uart_port *port)
>   
>   		if (c == CON_HUP) {
>   			hung_up = 1;
> -			uart_handle_dcd_change(port, 0);
> +			uart_handle_dcd_change(port, false);
>   		} else if (hung_up) {
>   			hung_up = 0;
> -			uart_handle_dcd_change(port, 1);
> +			uart_handle_dcd_change(port, true);
>   		}
>   
>   		if (port->state == NULL) {
> @@ -133,7 +133,7 @@ static int receive_chars_read(struct uart_port *port)
>   				bytes_read = 1;
>   			} else if (stat == CON_HUP) {
>   				hung_up = 1;
> -				uart_handle_dcd_change(port, 0);
> +				uart_handle_dcd_change(port, false);
>   				continue;
>   			} else {
>   				/* HV_EWOULDBLOCK, etc.  */
> @@ -143,7 +143,7 @@ static int receive_chars_read(struct uart_port *port)
>   
>   		if (hung_up) {
>   			hung_up = 0;
> -			uart_handle_dcd_change(port, 1);
> +			uart_handle_dcd_change(port, true);
>   		}
>   
>   		if (port->sysrq != 0 &&  *con_read_page) {
> diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
> index 15b6dee3a8e5..50016ee1026a 100644
> --- a/drivers/usb/serial/generic.c
> +++ b/drivers/usb/serial/generic.c
> @@ -608,7 +608,7 @@ EXPORT_SYMBOL_GPL(usb_serial_handle_break);
>    * @status: new carrier detect status, nonzero if active
>    */
>   void usb_serial_handle_dcd_change(struct usb_serial_port *port,
> -				struct tty_struct *tty, unsigned int status)
> +				struct tty_struct *tty, bool status)
>   {
>   	dev_dbg(&port->dev, "%s - status %d\n", __func__, status);
>   
> diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> index fd59f600094a..f1b69a36bb2b 100644
> --- a/include/linux/serial_core.h
> +++ b/include/linux/serial_core.h
> @@ -896,8 +896,7 @@ static inline bool uart_softcts_mode(struct uart_port *uport)
>    * The following are helper functions for the low level drivers.
>    */
>   
> -extern void uart_handle_dcd_change(struct uart_port *uport,
> -		unsigned int status);
> +extern void uart_handle_dcd_change(struct uart_port *uport, bool status);
>   extern void uart_handle_cts_change(struct uart_port *uport,
>   		unsigned int status);
>   
> diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h
> index dcb61ec11424..8f4a684973c9 100644
> --- a/include/linux/tty_ldisc.h
> +++ b/include/linux/tty_ldisc.h
> @@ -170,7 +170,7 @@ int ldsem_down_write_nested(struct ld_semaphore *sem, int subclass,
>    *	send, please arise a tasklet or workqueue to do the real data transfer.
>    *	Do not send data in this hook, it may lead to a deadlock.
>    *
> - * @dcd_change: [DRV] ``void ()(struct tty_struct *tty, unsigned int status)``
> + * @dcd_change: [DRV] ``void ()(struct tty_struct *tty, bool status)``
>    *
>    *	Tells the discipline that the DCD pin has changed its status. Used
>    *	exclusively by the %N_PPS (Pulse-Per-Second) line discipline.
> @@ -238,7 +238,7 @@ struct tty_ldisc_ops {
>   	void	(*receive_buf)(struct tty_struct *tty, const unsigned char *cp,
>   			       const char *fp, int count);
>   	void	(*write_wakeup)(struct tty_struct *tty);
> -	void	(*dcd_change)(struct tty_struct *tty, unsigned int status);
> +	void	(*dcd_change)(struct tty_struct *tty, bool status);
>   	int	(*receive_buf2)(struct tty_struct *tty, const unsigned char *cp,
>   				const char *fp, int count);
>   	void	(*lookahead_buf)(struct tty_struct *tty, const unsigned char *cp,
> diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
> index c597357853d9..6fa608cb4d98 100644
> --- a/include/linux/usb/serial.h
> +++ b/include/linux/usb/serial.h
> @@ -372,7 +372,7 @@ static inline int usb_serial_handle_break(struct usb_serial_port *port)
>   #endif
>   
>   void usb_serial_handle_dcd_change(struct usb_serial_port *usb_port,
> -		struct tty_struct *tty, unsigned int status);
> +				  struct tty_struct *tty, bool status);
>   
>   
>   int usb_serial_bus_register(struct usb_serial_driver *device);

-- 
GNU/Linux Solutions                  e-mail: giometti@enneenne.com
Linux Device Driver                          giometti@linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti


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

* Re: [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool
  2023-01-05  6:05   ` Jiri Slaby
  2023-01-05  8:48     ` Ilpo Järvinen
@ 2023-01-05  9:12     ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Johan Hovold @ 2023-01-05  9:12 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, linux-kernel

On Thu, Jan 05, 2023 at 07:05:17AM +0100, Jiri Slaby wrote:
> On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> > Convert init_hw parameter in uart_startup() and uart_port_startup() to
> > bool as code treats them like bool.
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > ---
> >   drivers/tty/serial/serial_core.c | 12 +++++-------
> >   1 file changed, 5 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> > index c881fefa3d97..a0260a40bdb9 100644
> > --- a/drivers/tty/serial/serial_core.c
> > +++ b/drivers/tty/serial/serial_core.c
> > @@ -181,8 +181,7 @@ static void uart_port_dtr_rts(struct uart_port *uport, int raise)
> >    * Startup the port.  This will be called once per open.  All calls
> >    * will be serialised by the per-port mutex.
> >    */
> > -static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
> > -		int init_hw)
> > +static int uart_port_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)
> >   {
> >   	struct uart_port *uport = uart_port_check(state);
> >   	unsigned long flags;
> > @@ -253,8 +252,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
> >   	return retval;
> >   }
> >   
> > -static int uart_startup(struct tty_struct *tty, struct uart_state *state,
> > -		int init_hw)
> > +static int uart_startup(struct tty_struct *tty, struct uart_state *state, bool init_hw)
> 
> You made both of them over 80 characters/line. Why?

I also still consider 80 chars to be a soft limit to strive for, but for
function signatures breaking that may even be preferred as it allows for
easier grepping. I believe Linus has expressed this explicitly in the
past too.

Johan

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

* Re: [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool
  2023-01-05  6:23   ` Jiri Slaby
  2023-01-05  8:55     ` Ilpo Järvinen
@ 2023-01-05  9:25     ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Johan Hovold @ 2023-01-05  9:25 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Ilpo Järvinen, linux-serial, Greg Kroah-Hartman, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel, linux-kernel

On Thu, Jan 05, 2023 at 07:23:49AM +0100, Jiri Slaby wrote:
> On 04. 01. 23, 16:15, Ilpo Järvinen wrote:
> > Convert uart_handle_cts_change() to bool which is more appropriate
> > than unsigned int.
> > 
> > Cleanup callsites from operations that are not necessary with bool.
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ...
> > --- a/drivers/tty/serial/serial_core.c
> > +++ b/drivers/tty/serial/serial_core.c
> > @@ -3285,11 +3285,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
> > + * @status: new clear to send status, true if active
> 
> ANyone else having troubles to parse "new clear to send status"?

Yeah, adding the missing hyphens should improve things:

	new clear-to-send status, true if active

Johan

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

* Re: [PATCH 10/10] tty: Return bool from tty_termios_hw_change()
  2023-01-04 15:15 ` [PATCH 10/10] tty: Return bool from tty_termios_hw_change() Ilpo Järvinen
  2023-01-05  6:28   ` Jiri Slaby
@ 2023-01-05  9:27   ` Johan Hovold
  1 sibling, 0 replies; 29+ messages in thread
From: Johan Hovold @ 2023-01-05  9:27 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, linux-kernel

On Wed, Jan 04, 2023 at 05:15:31PM +0200, Ilpo Järvinen wrote:
> Change tty_termios_hw_change() return to bool and convert it to
> a or-chained return statement.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  drivers/tty/tty_ioctl.c | 10 ++++------
>  include/linux/tty.h     |  2 +-
>  2 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c
> index ce511557b98b..4a80fabf6d5e 100644
> --- a/drivers/tty/tty_ioctl.c
> +++ b/drivers/tty/tty_ioctl.c
> @@ -270,13 +270,11 @@ EXPORT_SYMBOL(tty_termios_copy_hw);
>   *	between the two termios structures, or a speed change is needed.
>   */
>  
> -int tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
> +bool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)
>  {
> -	if (a->c_ispeed != b->c_ispeed || a->c_ospeed != b->c_ospeed)
> -		return 1;
> -	if ((a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL))
> -		return 1;
> -	return 0;
> +	return a->c_ispeed != b->c_ispeed ||
> +	       a->c_ospeed != b->c_ospeed ||
> +	       (a->c_cflag ^ b->c_cflag) & ~(HUPCL | CREAD | CLOCAL);

Please keep the current structure which is more readable rather than
merge everything into one long expression.

Johan

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

end of thread, other threads:[~2023-01-05  9:27 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-04 15:15 [PATCH 00/10] tty/serial: bool conversions and cleanups Ilpo Järvinen
2023-01-04 15:15 ` [PATCH 01/10] tty: Cleanup tty_port_set_initialized() bool parameter Ilpo Järvinen
2023-01-05  6:03   ` Jiri Slaby
2023-01-05  7:23   ` Samuel Iglesias Gonsálvez
2023-01-04 15:15 ` [PATCH 02/10] tty: Cleamup tty_port_set_suspended() " Ilpo Järvinen
2023-01-05  6:03   ` Jiri Slaby
2023-01-04 15:15 ` [PATCH 03/10] tty: Cleanup tty_port_set_active() " Ilpo Järvinen
2023-01-05  6:03   ` Jiri Slaby
2023-01-04 15:15 ` [PATCH 04/10] tty: moxa: Make local var storing tty_port_initialized() bool Ilpo Järvinen
2023-01-05  6:04   ` Jiri Slaby
2023-01-04 15:15 ` [PATCH 05/10] serial: Convert uart_{,port_}startup() init_hw param to bool Ilpo Järvinen
2023-01-05  6:05   ` Jiri Slaby
2023-01-05  8:48     ` Ilpo Järvinen
2023-01-05  9:12     ` Johan Hovold
2023-01-04 15:15 ` [PATCH 06/10] tty: Convert ->carrier_raised() and callchains " Ilpo Järvinen
2023-01-05  6:13   ` Jiri Slaby
2023-01-04 15:15 ` [PATCH 07/10] tty: Convert ->dtr_rts() to take bool argument Ilpo Järvinen
2023-01-05  6:19   ` Jiri Slaby
2023-01-05  8:51     ` Ilpo Järvinen
2023-01-04 15:15 ` [PATCH 08/10] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool Ilpo Järvinen
2023-01-05  6:21   ` Jiri Slaby
2023-01-05  9:11   ` Rodolfo Giometti
2023-01-04 15:15 ` [PATCH 09/10] serial: Make uart_handle_cts_change() status param bool Ilpo Järvinen
2023-01-05  6:23   ` Jiri Slaby
2023-01-05  8:55     ` Ilpo Järvinen
2023-01-05  9:25     ` Johan Hovold
2023-01-04 15:15 ` [PATCH 10/10] tty: Return bool from tty_termios_hw_change() Ilpo Järvinen
2023-01-05  6:28   ` Jiri Slaby
2023-01-05  9:27   ` Johan Hovold

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