Skip to content

Commit

Permalink
tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool …
Browse files Browse the repository at this point in the history
…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 <giometti@enneenne.com>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230117090358.4796-9-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Ilpo Järvinen authored and Greg Kroah-Hartman committed Jan 19, 2023
1 parent 5d42039 commit 0388a15
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 15 deletions.
6 changes: 3 additions & 3 deletions drivers/pps/clients/pps-ldisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down
8 changes: 4 additions & 4 deletions drivers/tty/serial/serial_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -3268,15 +3268,15 @@ 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);
}
}

uport->icount.dcd++;

if (uart_dcd_enabled(uport)) {
if (status)
if (active)
wake_up_interruptible(&port->open_wait);
else if (tty)
tty_hangup(tty);
Expand Down
8 changes: 4 additions & 4 deletions drivers/tty/serial/sunhv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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. */
Expand All @@ -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) {
Expand Down
3 changes: 1 addition & 2 deletions include/linux/serial_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -897,8 +897,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);

Expand Down
4 changes: 2 additions & 2 deletions include/linux/tty_ldisc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 0388a15

Please sign in to comment.