tty: serial: samsung: shrink memory footprint of ``struct s3c24xx_uart_info``
authorTudor Ambarus <tudor.ambarus@linaro.org>
Fri, 19 Jan 2024 10:45:26 +0000 (10:45 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jan 2024 03:05:19 +0000 (19:05 -0800)
commit79821c8a45807655c25d6bae2b13a3f98a5c01cd
treec9cdd63903d013108502da03ee6aecff345297ec
parent4d0cfff7df32d8d126b547f61505473a91c6e797
tty: serial: samsung: shrink memory footprint of ``struct s3c24xx_uart_info``

Use u32 for the members of ``struct s3c24xx_uart_info`` that are used
for register interactions. The purpose of these members becomes clearer.

The greater benefit of this change is that it also reduces the memory
footprint of the struct, allowing 64-bit architectures to use a
single cacheline for the entire struct.

struct s3c24xx_uart_info {
const char  *              name;                 /*     0     8 */
enum s3c24xx_port_type     type;                 /*     8     4 */
unsigned int               port_type;            /*    12     4 */
unsigned int               fifosize;             /*    16     4 */
u32                        rx_fifomask;          /*    20     4 */
u32                        rx_fifoshift;         /*    24     4 */
u32                        rx_fifofull;          /*    28     4 */
u32                        tx_fifomask;          /*    32     4 */
u32                        tx_fifoshift;         /*    36     4 */
u32                        tx_fifofull;          /*    40     4 */
u32                        clksel_mask;          /*    44     4 */
u32                        clksel_shift;         /*    48     4 */
u32                        ucon_mask;            /*    52     4 */
u8                         def_clk_sel;          /*    56     1 */
u8                         num_clks;             /*    57     1 */
u8                         iotype;               /*    58     1 */
bool                       has_divslot;          /*    59     1 */

/* size: 64, cachelines: 1, members: 17 */
/* padding: 4 */
};

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://lore.kernel.org/r/20240119104526.1221243-20-tudor.ambarus@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/samsung_tty.c