Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: drivers: switch ch and flag to u8

Now that the serial layer explicitly expects 'u8' for flags and
characters, propagate this type to drivers' (RX) routines.

Note that amba-pl011's, clps711x's and st-asc's 'ch' are left unchanged
because 'ch' contains not only a character, but whole status.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Cc: Tobias Klauser <tklauser@distanz.ch>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Vineet Gupta <vgupta@kernel.org>
Cc: Richard Genoud <richard.genoud@gmail.com>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: Alexander Shiyan <shc_work@mail.ru>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: "Maciej W. Rozycki" <macro@orcam.me.uk>
Cc: Taichi Sugaya <sugaya.taichi@socionext.com>
Cc: Takao Orito <orito.takao@socionext.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Orson Zhai <orsonzhai@gmail.com>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Hammer Hsieh <hammerh0314@gmail.com>
Acked-by: Richard GENOUD <richard.genoud@gmail.com>
Acked-by: Tobias Klauser <tklauser@distanz.ch>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Maciej W. Rozycki <macro@orcam.me.uk>
Link: https://lore.kernel.org/r/20230712081811.29004-11-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jiri Slaby and committed by
Greg Kroah-Hartman
fd2b55f8 4d1fceb1

+53 -48
+2 -1
drivers/tty/serial/21285.c
··· 117 117 static irqreturn_t serial21285_rx_chars(int irq, void *dev_id) 118 118 { 119 119 struct uart_port *port = dev_id; 120 - unsigned int status, ch, flag, rxs, max_count = 256; 120 + unsigned int status, rxs, max_count = 256; 121 + u8 ch, flag; 121 122 122 123 status = *CSR_UARTFLG; 123 124 while (!(status & 0x10) && max_count--) {
+1 -2
drivers/tty/serial/8250/8250_port.c
··· 1706 1706 void serial8250_read_char(struct uart_8250_port *up, u16 lsr) 1707 1707 { 1708 1708 struct uart_port *port = &up->port; 1709 - unsigned char ch; 1710 - char flag = TTY_NORMAL; 1709 + u8 ch, flag = TTY_NORMAL; 1711 1710 1712 1711 if (likely(lsr & UART_LSR_DR)) 1713 1712 ch = serial_in(up, UART_RX);
+1 -1
drivers/tty/serial/altera_jtaguart.c
··· 110 110 111 111 static void altera_jtaguart_rx_chars(struct uart_port *port) 112 112 { 113 - unsigned char ch; 114 113 unsigned long status; 114 + u8 ch; 115 115 116 116 while ((status = readl(port->membase + ALTERA_JTAGUART_DATA_REG)) & 117 117 ALTERA_JTAGUART_DATA_RVALID_MSK) {
+1 -1
drivers/tty/serial/altera_uart.c
··· 201 201 202 202 static void altera_uart_rx_chars(struct uart_port *port) 203 203 { 204 - unsigned char ch, flag; 205 204 unsigned short status; 205 + u8 ch, flag; 206 206 207 207 while ((status = altera_uart_readl(port, ALTERA_UART_STATUS_REG)) & 208 208 ALTERA_UART_STATUS_RRDY_MSK) {
+2 -1
drivers/tty/serial/amba-pl010.c
··· 112 112 113 113 static void pl010_rx_chars(struct uart_port *port) 114 114 { 115 - unsigned int status, ch, flag, rsr, max_count = 256; 115 + unsigned int status, rsr, max_count = 256; 116 + u8 ch, flag; 116 117 117 118 status = readb(port->membase + UART01x_FR); 118 119 while (UART_RX_DATA(status) && max_count--) {
+2 -1
drivers/tty/serial/amba-pl011.c
··· 307 307 */ 308 308 static int pl011_fifo_to_tty(struct uart_amba_port *uap) 309 309 { 310 - unsigned int ch, flag, fifotaken; 310 + unsigned int ch, fifotaken; 311 311 int sysrq; 312 312 u16 status; 313 + u8 flag; 313 314 314 315 for (fifotaken = 0; fifotaken != 256; fifotaken++) { 315 316 status = pl011_read(uap, REG_FR);
+2 -1
drivers/tty/serial/apbuart.c
··· 70 70 71 71 static void apbuart_rx_chars(struct uart_port *port) 72 72 { 73 - unsigned int status, ch, rsr, flag; 73 + unsigned int status, rsr; 74 74 unsigned int max_chars = port->fifosize; 75 + u8 ch, flag; 75 76 76 77 status = UART_GET_STATUS(port); 77 78
+1 -1
drivers/tty/serial/arc_uart.c
··· 205 205 * controller, which is indeed the Rx-FIFO. 206 206 */ 207 207 do { 208 - unsigned int ch, flg = TTY_NORMAL; 208 + u8 ch, flg = TTY_NORMAL; 209 209 210 210 /* 211 211 * This could be an Rx Intr for err (no data),
+1 -1
drivers/tty/serial/atmel_serial.c
··· 1516 1516 { 1517 1517 struct atmel_uart_port *atmel_port = to_atmel_uart_port(port); 1518 1518 struct circ_buf *ring = &atmel_port->rx_ring; 1519 - unsigned int flg; 1520 1519 unsigned int status; 1520 + u8 flg; 1521 1521 1522 1522 while (ring->head != ring->tail) { 1523 1523 struct atmel_uart_char c;
+2 -1
drivers/tty/serial/clps711x.c
··· 92 92 { 93 93 struct uart_port *port = dev_id; 94 94 struct clps711x_port *s = dev_get_drvdata(port->dev); 95 - unsigned int status, flg; 95 + unsigned int status; 96 96 u16 ch; 97 + u8 flg; 97 98 98 99 for (;;) { 99 100 u32 sysflg = 0;
+1 -2
drivers/tty/serial/digicolor-usart.c
··· 136 136 spin_lock_irqsave(&port->lock, flags); 137 137 138 138 while (1) { 139 - u8 status, ch; 140 - unsigned int ch_flag; 139 + u8 status, ch, ch_flag; 141 140 142 141 if (digicolor_uart_rx_empty(port)) 143 142 break;
+1 -1
drivers/tty/serial/dz.c
··· 181 181 struct dz_port *dport = &mux->dport[0]; 182 182 struct uart_icount *icount; 183 183 int lines_rx[DZ_NB_PORT] = { [0 ... DZ_NB_PORT - 1] = 0 }; 184 - unsigned char ch, flag; 185 184 u16 status; 185 + u8 ch, flag; 186 186 int i; 187 187 188 188 while ((status = dz_in(dport, DZ_RBUF)) & DZ_DVAL) {
+1 -1
drivers/tty/serial/ip22zilog.c
··· 248 248 static bool ip22zilog_receive_chars(struct uart_ip22zilog_port *up, 249 249 struct zilog_channel *channel) 250 250 { 251 - unsigned char ch, flag; 252 251 unsigned int r1; 252 + u8 ch, flag; 253 253 bool push = up->port.state != NULL; 254 254 255 255 for (;;) {
+2 -1
drivers/tty/serial/max3100.c
··· 215 215 216 216 static int max3100_handlerx(struct max3100_port *s, u16 rx) 217 217 { 218 - unsigned int ch, flg, status = 0; 218 + unsigned int status = 0; 219 219 int ret = 0, cts; 220 + u8 ch, flg; 220 221 221 222 if (rx & MAX3100_R && s->rx_enabled) { 222 223 dev_dbg(&s->spi->dev, "%s\n", __func__);
+2 -1
drivers/tty/serial/max310x.c
··· 669 669 static void max310x_handle_rx(struct uart_port *port, unsigned int rxlen) 670 670 { 671 671 struct max310x_one *one = to_max310x_port(port); 672 - unsigned int sts, ch, flag, i; 672 + unsigned int sts, i; 673 + u8 ch, flag; 673 674 674 675 if (port->read_status_mask == MAX310X_LSR_RXOVR_BIT) { 675 676 /* We are just reading, happily ignoring any error conditions.
+1 -1
drivers/tty/serial/mcf.c
··· 281 281 static void mcf_rx_chars(struct mcf_uart *pp) 282 282 { 283 283 struct uart_port *port = &pp->port; 284 - unsigned char status, ch, flag; 284 + u8 status, ch, flag; 285 285 286 286 while ((status = readb(port->membase + MCFUART_USR)) & MCFUART_USR_RXREADY) { 287 287 ch = readb(port->membase + MCFUART_URB);
+1 -2
drivers/tty/serial/milbeaut_usio.c
··· 148 148 static void mlb_usio_rx_chars(struct uart_port *port) 149 149 { 150 150 struct tty_port *ttyport = &port->state->port; 151 - unsigned long flag = 0; 152 - char ch = 0; 151 + u8 flag = 0, ch = 0; 153 152 u8 status; 154 153 int max_count = 2; 155 154
+1 -2
drivers/tty/serial/mxs-auart.c
··· 616 616 617 617 static void mxs_auart_rx_char(struct mxs_auart_port *s) 618 618 { 619 - int flag; 620 619 u32 stat; 621 - u8 c; 620 + u8 c, flag; 622 621 623 622 c = mxs_read(s, REG_DATA); 624 623 stat = mxs_read(s, REG_STAT);
+2 -2
drivers/tty/serial/omap-serial.c
··· 442 442 443 443 static void serial_omap_rlsi(struct uart_omap_port *up, unsigned int lsr) 444 444 { 445 - unsigned int flag; 445 + u8 flag; 446 446 447 447 /* 448 448 * Read one data character out to avoid stalling the receiver according ··· 498 498 499 499 static void serial_omap_rdi(struct uart_omap_port *up, unsigned int lsr) 500 500 { 501 - unsigned char ch = 0; 501 + u8 ch; 502 502 503 503 if (!(lsr & UART_LSR_DR)) 504 504 return;
+1 -1
drivers/tty/serial/pxa.c
··· 90 90 91 91 static inline void receive_chars(struct uart_pxa_port *up, int *status) 92 92 { 93 - unsigned int ch, flag; 93 + u8 ch, flag; 94 94 int max_count = 256; 95 95 96 96 do {
+2 -2
drivers/tty/serial/rp2.c
··· 401 401 402 402 for (; bytes != 0; bytes--) { 403 403 u32 byte = readw(up->base + RP2_DATA_BYTE) | RP2_DUMMY_READ; 404 - char ch = byte & 0xff; 404 + u8 ch = byte & 0xff; 405 405 406 406 if (likely(!(byte & RP2_DATA_BYTE_EXCEPTION_MASK))) { 407 407 if (!uart_handle_sysrq_char(&up->port, ch)) 408 408 uart_insert_char(&up->port, byte, 0, ch, 409 409 TTY_NORMAL); 410 410 } else { 411 - char flag = TTY_NORMAL; 411 + u8 flag = TTY_NORMAL; 412 412 413 413 if (byte & RP2_DATA_BYTE_BREAK_m) 414 414 flag = TTY_BREAK;
+2 -1
drivers/tty/serial/sa1100.c
··· 180 180 static void 181 181 sa1100_rx_chars(struct sa1100_port *sport) 182 182 { 183 - unsigned int status, ch, flg; 183 + unsigned int status; 184 + u8 ch, flg; 184 185 185 186 status = UTSR1_TO_SM(UART_GET_UTSR1(sport)) | 186 187 UTSR0_TO_SM(UART_GET_UTSR0(sport));
+2 -1
drivers/tty/serial/samsung_tty.c
··· 759 759 static void s3c24xx_serial_rx_drain_fifo(struct s3c24xx_uart_port *ourport) 760 760 { 761 761 struct uart_port *port = &ourport->port; 762 - unsigned int ufcon, ch, flag, ufstat, uerstat; 762 + unsigned int ufcon, ufstat, uerstat; 763 763 unsigned int fifocnt = 0; 764 764 int max_count = port->fifosize; 765 + u8 ch, flag; 765 766 766 767 while (max_count-- > 0) { 767 768 /*
+2 -1
drivers/tty/serial/sb1250-duart.c
··· 331 331 { 332 332 struct uart_port *uport = &sport->port; 333 333 struct uart_icount *icount; 334 - unsigned int status, ch, flag; 334 + unsigned int status; 335 335 int count; 336 + u8 ch, flag; 336 337 337 338 for (count = 16; count; count--) { 338 339 status = read_sbdchn(sport, R_DUART_STATUS);
+2 -1
drivers/tty/serial/sc16is7xx.c
··· 578 578 unsigned int iir) 579 579 { 580 580 struct sc16is7xx_port *s = dev_get_drvdata(port->dev); 581 - unsigned int lsr = 0, ch, flag, bytes_read, i; 581 + unsigned int lsr = 0, bytes_read, i; 582 582 bool read_lsr = (iir == SC16IS7XX_IIR_RLSE_SRC) ? true : false; 583 + u8 ch, flag; 583 584 584 585 if (unlikely(rxlen >= sizeof(s->buf))) { 585 586 dev_warn_ratelimited(port->dev,
+1 -2
drivers/tty/serial/sccnxp.c
··· 383 383 384 384 static void sccnxp_handle_rx(struct uart_port *port) 385 385 { 386 - u8 sr; 387 - unsigned int ch, flag; 386 + u8 sr, ch, flag; 388 387 389 388 for (;;) { 390 389 sr = sccnxp_port_read(port, SCCNXP_SR_REG);
+3 -4
drivers/tty/serial/serial-tegra.c
··· 434 434 return 0; 435 435 } 436 436 437 - static char tegra_uart_decode_rx_error(struct tegra_uart_port *tup, 437 + static u8 tegra_uart_decode_rx_error(struct tegra_uart_port *tup, 438 438 unsigned long lsr) 439 439 { 440 - char flag = TTY_NORMAL; 440 + u8 flag = TTY_NORMAL; 441 441 442 442 if (unlikely(lsr & TEGRA_UART_LSR_ANY)) { 443 443 if (lsr & UART_LSR_OE) { ··· 642 642 struct tty_port *port) 643 643 { 644 644 do { 645 - char flag = TTY_NORMAL; 646 645 unsigned long lsr = 0; 647 - unsigned char ch; 646 + u8 ch, flag = TTY_NORMAL; 648 647 649 648 lsr = tegra_uart_read(tup, UART_LSR); 650 649 if (!(lsr & UART_LSR_DR))
+1 -2
drivers/tty/serial/serial_txx9.c
··· 246 246 static inline void 247 247 receive_chars(struct uart_port *up, unsigned int *status) 248 248 { 249 - unsigned char ch; 250 249 unsigned int disr = *status; 251 250 int max_count = 256; 252 - char flag; 253 251 unsigned int next_ignore_status_mask; 252 + u8 ch, flag; 254 253 255 254 do { 256 255 ch = sio_in(up, TXX9_SIRFIFO);
+1 -1
drivers/tty/serial/sifive.c
··· 402 402 */ 403 403 static void __ssp_receive_chars(struct sifive_serial_port *ssp) 404 404 { 405 - unsigned char ch; 406 405 char is_empty; 407 406 int c; 407 + u8 ch; 408 408 409 409 for (c = SIFIVE_RX_FIFO_DEPTH; c > 0; --c) { 410 410 ch = __ssp_receive_char(ssp, &is_empty);
+3 -2
drivers/tty/serial/sprd_serial.c
··· 558 558 } 559 559 560 560 static int handle_lsr_errors(struct uart_port *port, 561 - unsigned int *flag, 561 + u8 *flag, 562 562 unsigned int *lsr) 563 563 { 564 564 int ret = 0; ··· 594 594 struct sprd_uart_port *sp = container_of(port, struct sprd_uart_port, 595 595 port); 596 596 struct tty_port *tty = &port->state->port; 597 - unsigned int ch, flag, lsr, max_count = SPRD_TIMEOUT; 597 + unsigned int lsr, max_count = SPRD_TIMEOUT; 598 + u8 ch, flag; 598 599 599 600 if (sp->rx_dma.enable) { 600 601 sprd_uart_dma_irq(port);
+1 -1
drivers/tty/serial/st-asc.c
··· 250 250 struct tty_port *tport = &port->state->port; 251 251 unsigned long status, mode; 252 252 unsigned long c = 0; 253 - char flag; 253 + u8 flag; 254 254 bool ignore_pe = false; 255 255 256 256 /*
+2 -3
drivers/tty/serial/stm32-usart.c
··· 321 321 return false; 322 322 } 323 323 324 - static unsigned long stm32_usart_get_char_pio(struct uart_port *port) 324 + static u8 stm32_usart_get_char_pio(struct uart_port *port) 325 325 { 326 326 struct stm32_port *stm32_port = to_stm32_port(port); 327 327 const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs; ··· 338 338 { 339 339 struct stm32_port *stm32_port = to_stm32_port(port); 340 340 const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs; 341 - unsigned long c; 342 341 unsigned int size = 0; 343 342 u32 sr; 344 - char flag; 343 + u8 c, flag; 345 344 346 345 while (stm32_usart_pending_rx_pio(port, &sr)) { 347 346 sr |= USART_SR_DUMMY_RX;
+1 -1
drivers/tty/serial/sunplus-uart.c
··· 231 231 static void receive_chars(struct uart_port *port) 232 232 { 233 233 unsigned int lsr = readl(port->membase + SUP_UART_LSR); 234 - unsigned int ch, flag; 234 + u8 ch, flag; 235 235 236 236 do { 237 237 ch = readl(port->membase + SUP_UART_DATA);
+2 -1
drivers/tty/serial/zs.c
··· 539 539 struct uart_port *uport = &zport->port; 540 540 struct zs_scc *scc = zport->scc; 541 541 struct uart_icount *icount; 542 - unsigned int avail, status, ch, flag; 542 + unsigned int avail, status; 543 543 int count; 544 + u8 ch, flag; 544 545 545 546 for (count = 16; count; count--) { 546 547 spin_lock(&scc->zlock);