Messages in this thread | | | Date | Thu, 11 Aug 2022 12:48:41 +0200 | Subject | Re: [PATCH] serial: stm32: make info structs static to avoid sparse warnings | From | Jiri Slaby <> |
| |
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@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
| |