[PATCH] serial: stm32: make info structs static to avoid sparse warnings
Jiri Slaby
jirislaby at kernel.org
Thu Aug 11 03:48:41 PDT 2022
On 21. 07. 22, 23:24, Ben Dooks wrote:
> The info structs are local only to the stm32-usart.c driver and are
> triggering sparse warnings about being undecalred. Move these into
> the main driver code and make them static to avoid the following
> warnings:
>
> drivers/tty/serial/stm32-usart.h:42:25: warning: symbol 'stm32f4_info' was not declared. Should it be static?
> drivers/tty/serial/stm32-usart.h:63:25: warning: symbol 'stm32f7_info' was not declared. Should it be static?
> drivers/tty/serial/stm32-usart.h:85:25: warning: symbol 'stm32h7_info' was not declared. Should it be static?
Right, I would go even further. There is no point in having a separate
header. So could you move the whole content to .c?
> Signed-off-by: Ben Dooks <ben-linux at fluff.org>
> ---
> drivers/tty/serial/stm32-usart.c | 69 ++++++++++++++++++++++++++++++++
> drivers/tty/serial/stm32-usart.h | 68 -------------------------------
> 2 files changed, 69 insertions(+), 68 deletions(-)
>
> diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-usart.c
> index 0973b03eeeaa..01f1ab2c18c0 100644
> --- a/drivers/tty/serial/stm32-usart.c
> +++ b/drivers/tty/serial/stm32-usart.c
> @@ -35,6 +35,75 @@
> #include "serial_mctrl_gpio.h"
> #include "stm32-usart.h"
>
> +
> +/* Register offsets */
> +static struct stm32_usart_info stm32f4_info = {
> + .ofs = {
> + .isr = 0x00,
> + .rdr = 0x04,
> + .tdr = 0x04,
> + .brr = 0x08,
> + .cr1 = 0x0c,
> + .cr2 = 0x10,
> + .cr3 = 0x14,
> + .gtpr = 0x18,
> + .rtor = UNDEF_REG,
> + .rqr = UNDEF_REG,
> + .icr = UNDEF_REG,
> + },
> + .cfg = {
> + .uart_enable_bit = 13,
> + .has_7bits_data = false,
> + .fifosize = 1,
> + }
> +};
> +
> +static struct stm32_usart_info stm32f7_info = {
> + .ofs = {
> + .cr1 = 0x00,
> + .cr2 = 0x04,
> + .cr3 = 0x08,
> + .brr = 0x0c,
> + .gtpr = 0x10,
> + .rtor = 0x14,
> + .rqr = 0x18,
> + .isr = 0x1c,
> + .icr = 0x20,
> + .rdr = 0x24,
> + .tdr = 0x28,
> + },
> + .cfg = {
> + .uart_enable_bit = 0,
> + .has_7bits_data = true,
> + .has_swap = true,
> + .fifosize = 1,
> + }
> +};
> +
> +static struct stm32_usart_info stm32h7_info = {
> + .ofs = {
> + .cr1 = 0x00,
> + .cr2 = 0x04,
> + .cr3 = 0x08,
> + .brr = 0x0c,
> + .gtpr = 0x10,
> + .rtor = 0x14,
> + .rqr = 0x18,
> + .isr = 0x1c,
> + .icr = 0x20,
> + .rdr = 0x24,
> + .tdr = 0x28,
> + },
> + .cfg = {
> + .uart_enable_bit = 0,
> + .has_7bits_data = true,
> + .has_swap = true,
> + .has_wakeup = true,
> + .has_fifo = true,
> + .fifosize = 16,
> + }
> +};
> +
> static void stm32_usart_stop_tx(struct uart_port *port);
> static void stm32_usart_transmit_chars(struct uart_port *port);
> static void __maybe_unused stm32_usart_console_putchar(struct uart_port *port, unsigned char ch);
> diff --git a/drivers/tty/serial/stm32-usart.h b/drivers/tty/serial/stm32-usart.h
> index ee69c203b926..0ec41a732c88 100644
> --- a/drivers/tty/serial/stm32-usart.h
> +++ b/drivers/tty/serial/stm32-usart.h
> @@ -38,74 +38,6 @@ struct stm32_usart_info {
>
> #define UNDEF_REG 0xff
>
> -/* Register offsets */
> -struct stm32_usart_info stm32f4_info = {
> - .ofs = {
> - .isr = 0x00,
> - .rdr = 0x04,
> - .tdr = 0x04,
> - .brr = 0x08,
> - .cr1 = 0x0c,
> - .cr2 = 0x10,
> - .cr3 = 0x14,
> - .gtpr = 0x18,
> - .rtor = UNDEF_REG,
> - .rqr = UNDEF_REG,
> - .icr = UNDEF_REG,
> - },
> - .cfg = {
> - .uart_enable_bit = 13,
> - .has_7bits_data = false,
> - .fifosize = 1,
> - }
> -};
> -
> -struct stm32_usart_info stm32f7_info = {
> - .ofs = {
> - .cr1 = 0x00,
> - .cr2 = 0x04,
> - .cr3 = 0x08,
> - .brr = 0x0c,
> - .gtpr = 0x10,
> - .rtor = 0x14,
> - .rqr = 0x18,
> - .isr = 0x1c,
> - .icr = 0x20,
> - .rdr = 0x24,
> - .tdr = 0x28,
> - },
> - .cfg = {
> - .uart_enable_bit = 0,
> - .has_7bits_data = true,
> - .has_swap = true,
> - .fifosize = 1,
> - }
> -};
> -
> -struct stm32_usart_info stm32h7_info = {
> - .ofs = {
> - .cr1 = 0x00,
> - .cr2 = 0x04,
> - .cr3 = 0x08,
> - .brr = 0x0c,
> - .gtpr = 0x10,
> - .rtor = 0x14,
> - .rqr = 0x18,
> - .isr = 0x1c,
> - .icr = 0x20,
> - .rdr = 0x24,
> - .tdr = 0x28,
> - },
> - .cfg = {
> - .uart_enable_bit = 0,
> - .has_7bits_data = true,
> - .has_swap = true,
> - .has_wakeup = true,
> - .has_fifo = true,
> - .fifosize = 16,
> - }
> -};
> -
> /* USART_SR (F4) / USART_ISR (F7) */
> #define USART_SR_PE BIT(0)
> #define USART_SR_FE BIT(1)
thanks,
--
js
suse labs
More information about the linux-arm-kernel
mailing list