lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2fd0f4e5-8b5d-4257-4700-71e68cff29f6@kernel.org>
Date:   Thu, 11 Aug 2022 12:48:41 +0200
From:   Jiri Slaby <jirislaby@...nel.org>
To:     Ben Dooks <ben-linux@...ff.org>, linux-kernel@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-serial@...r.kernel.org,
        linux-stm32@...md-mailman.stormreply.com
Cc:     gregkh@...uxfoundation.org, mcoquelin.stm32@...il.com,
        alexandre.torgue@...s.st.com
Subject: Re: [PATCH] serial: stm32: make info structs static to avoid sparse
 warnings

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@...ff.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ