2023-01-11 14:34:41

by Ilpo Järvinen

[permalink] [raw]
Subject: [PATCH v3 08/13] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool active

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

Rename status to active to better describe what the parameter means.

Acked-by: Rodolfo Giometti <[email protected]>
Reviewed-by: Jiri Slaby <[email protected]>
Signed-off-by: Ilpo Järvinen <[email protected]>
---
drivers/pps/clients/pps-ldisc.c | 6 +++---
drivers/tty/serial/serial_core.c | 8 ++++----
drivers/tty/serial/sunhv.c | 8 ++++----
drivers/usb/serial/generic.c | 10 +++++-----
include/linux/serial_core.h | 3 +--
include/linux/tty_ldisc.h | 4 ++--
include/linux/usb/serial.h | 2 +-
7 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/drivers/pps/clients/pps-ldisc.c b/drivers/pps/clients/pps-ldisc.c
index d73c4c2ed4e1..443d6bae19d1 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 active)
{
struct pps_device *pps;
struct pps_event_time ts;
@@ -29,11 +29,11 @@ static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status)
return;

/* Now do the PPS event report */
- pps_event(pps, &ts, status ? PPS_CAPTUREASSERT :
+ pps_event(pps, &ts, active ? PPS_CAPTUREASSERT :
PPS_CAPTURECLEAR, NULL);

dev_dbg(pps->dev, "PPS %s at %lu\n",
- status ? "assert" : "clear", jiffies);
+ active ? "assert" : "clear", jiffies);
}

static int (*alias_n_tty_open)(struct tty_struct *tty);
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 053535846ba2..f8a9386db482 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -3252,11 +3252,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
+ * @active: new carrier detect status
*
* 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 active)
{
struct tty_port *port = &uport->state->port;
struct tty_struct *tty = port->tty;
@@ -3268,7 +3268,7 @@ void uart_handle_dcd_change(struct uart_port *uport, unsigned int status)
ld = tty_ldisc_ref(tty);
if (ld) {
if (ld->ops->dcd_change)
- ld->ops->dcd_change(tty, status);
+ ld->ops->dcd_change(tty, active);
tty_ldisc_deref(ld);
}
}
@@ -3276,7 +3276,7 @@ void uart_handle_dcd_change(struct uart_port *uport, unsigned int status)
uport->icount.dcd++;

if (uart_dcd_enabled(uport)) {
- if (status)
+ if (active)
wake_up_interruptible(&port->open_wait);
else if (tty)
tty_hangup(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..f2d31e56eafc 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -605,24 +605,24 @@ EXPORT_SYMBOL_GPL(usb_serial_handle_break);
* usb_serial_handle_dcd_change - handle a change of carrier detect state
* @port: usb-serial port
* @tty: tty for the port
- * @status: new carrier detect status, nonzero if active
+ * @active: new carrier-detect status
*/
void usb_serial_handle_dcd_change(struct usb_serial_port *port,
- struct tty_struct *tty, unsigned int status)
+ struct tty_struct *tty, bool active)
{
- dev_dbg(&port->dev, "%s - status %d\n", __func__, status);
+ dev_dbg(&port->dev, "%s - active %d\n", __func__, active);

if (tty) {
struct tty_ldisc *ld = tty_ldisc_ref(tty);

if (ld) {
if (ld->ops->dcd_change)
- ld->ops->dcd_change(tty, status);
+ ld->ops->dcd_change(tty, active);
tty_ldisc_deref(ld);
}
}

- if (status)
+ if (active)
wake_up_interruptible(&port->port.open_wait);
else if (tty && !C_CLOCAL(tty))
tty_hangup(tty);
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index fd59f600094a..760c96ffb5bd 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 active);
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..49dc172dedc7 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 active)``
*
* 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 active);
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..bad343c5e8a7 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 active);


int usb_serial_bus_register(struct usb_serial_driver *device);
--
2.30.2


2023-01-11 18:05:43

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH v3 08/13] tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool active

On Wed, Jan 11, 2023 at 04:23:26PM +0200, 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.
>
> Rename status to active to better describe what the parameter means.
>
> Acked-by: Rodolfo Giometti <[email protected]>
> Reviewed-by: Jiri Slaby <[email protected]>
> Signed-off-by: Ilpo Järvinen <[email protected]>
> ---
> drivers/pps/clients/pps-ldisc.c | 6 +++---
> drivers/tty/serial/serial_core.c | 8 ++++----
> drivers/tty/serial/sunhv.c | 8 ++++----
> drivers/usb/serial/generic.c | 10 +++++-----
> include/linux/serial_core.h | 3 +--
> include/linux/tty_ldisc.h | 4 ++--
> include/linux/usb/serial.h | 2 +-
> 7 files changed, 20 insertions(+), 21 deletions(-)

Same here, split out the USB serial changes in a separate series.

Johan