Message ID | 20240110102102.61587-19-tudor.ambarus@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 79821c8a45807655c25d6bae2b13a3f98a5c01cd |
Headers | show |
Series | serial: samsung: gs101 updates and winter cleanup | expand |
On Wed, Jan 10, 2024 at 4:26 AM Tudor Ambarus <tudor.ambarus@linaro.org> wrote: > > 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 */ > u8 has_divslot:1; /* 59: 0 1 */ > > /* size: 64, cachelines: 1, members: 17 */ > /* padding: 4 */ > /* bit_padding: 7 bits */ > }; > > Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > drivers/tty/serial/samsung_tty.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c > index 598d9fe7a492..40dceb41acb7 100644 > --- a/drivers/tty/serial/samsung_tty.c > +++ b/drivers/tty/serial/samsung_tty.c > @@ -75,15 +75,15 @@ struct s3c24xx_uart_info { > enum s3c24xx_port_type type; > unsigned int port_type; > unsigned int fifosize; > - unsigned long rx_fifomask; > - unsigned long rx_fifoshift; > - unsigned long rx_fifofull; > - unsigned long tx_fifomask; > - unsigned long tx_fifoshift; > - unsigned long tx_fifofull; > - unsigned long clksel_mask; > - unsigned long clksel_shift; > - unsigned long ucon_mask; > + u32 rx_fifomask; > + u32 rx_fifoshift; > + u32 rx_fifofull; > + u32 tx_fifomask; > + u32 tx_fifoshift; > + u32 tx_fifofull; > + u32 clksel_mask; > + u32 clksel_shift; > + u32 ucon_mask; > u8 def_clk_sel; > u8 num_clks; > u8 iotype; > -- > 2.43.0.472.g3155946c3a-goog > >
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 598d9fe7a492..40dceb41acb7 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -75,15 +75,15 @@ struct s3c24xx_uart_info { enum s3c24xx_port_type type; unsigned int port_type; unsigned int fifosize; - unsigned long rx_fifomask; - unsigned long rx_fifoshift; - unsigned long rx_fifofull; - unsigned long tx_fifomask; - unsigned long tx_fifoshift; - unsigned long tx_fifofull; - unsigned long clksel_mask; - unsigned long clksel_shift; - unsigned long ucon_mask; + u32 rx_fifomask; + u32 rx_fifoshift; + u32 rx_fifofull; + u32 tx_fifomask; + u32 tx_fifoshift; + u32 tx_fifofull; + u32 clksel_mask; + u32 clksel_shift; + u32 ucon_mask; u8 def_clk_sel; u8 num_clks; u8 iotype;
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 */ u8 has_divslot:1; /* 59: 0 1 */ /* size: 64, cachelines: 1, members: 17 */ /* padding: 4 */ /* bit_padding: 7 bits */ }; Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org> --- drivers/tty/serial/samsung_tty.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)