sdio_uart: make use of UART_LCR_WLEN() + tty_get_char_size()
authorJiri Slaby <jslaby@suse.cz>
Thu, 24 Feb 2022 09:55:57 +0000 (10:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Feb 2022 21:17:21 +0000 (22:17 +0100)
Having a generic UART_LCR_WLEN() macro and the tty_get_char_size()
helper, we can remove all those repeated switch-cases in drivers.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-mmc@vger.kernel.org
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20220224095558.30929-4-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/core/sdio_uart.c

index 04c0823e0359e610a2598fa31d5afe40134a379a..414aa82abc39bf3f01112d16c5dad996ddc992ed 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/sched.h>
 #include <linux/mutex.h>
 #include <linux/seq_file.h>
+#include <linux/serial.h>
 #include <linux/serial_reg.h>
 #include <linux/circ_buf.h>
 #include <linux/tty.h>
@@ -250,21 +251,7 @@ static void sdio_uart_change_speed(struct sdio_uart_port *port,
        unsigned char cval, fcr = 0;
        unsigned int baud, quot;
 
-       switch (termios->c_cflag & CSIZE) {
-       case CS5:
-               cval = UART_LCR_WLEN5;
-               break;
-       case CS6:
-               cval = UART_LCR_WLEN6;
-               break;
-       case CS7:
-               cval = UART_LCR_WLEN7;
-               break;
-       default:
-       case CS8:
-               cval = UART_LCR_WLEN8;
-               break;
-       }
+       cval = UART_LCR_WLEN(tty_get_char_size(termios->c_cflag));
 
        if (termios->c_cflag & CSTOPB)
                cval |= UART_LCR_STOP;