Le 01/09/2016 à 19:51, Julia Lawall a écrit :
> Check for uart_ops structures that are only stored in the ops field of a
> uart_port structure.  This field is declared const, so uart_ops structures
> that have this property can be declared as const also.
> 
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @r disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct uart_ops i@p = { ... };
> 
> @ok@
> identifier r.i;
> struct uart_port e;
> position p;
> @@
> e.ops = &i@p;
> 
> @bad@
> position p != {r.p,ok.p};
> identifier r.i;
> struct uart_ops e;
> @@
> e@i@p
> 
> @depends on !bad disable optional_qualifier@
> identifier r.i;
> @@
> static
> +const
>  struct uart_ops i = { ... };
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia.law...@lip6.fr>

Acked-by: Nicolas Ferre <nicolas.fe...@atmel.com>

Thanks Julia.
Bye,

> ---
>  drivers/tty/serial/atmel_serial.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/serial/atmel_serial.c 
> b/drivers/tty/serial/atmel_serial.c
> index 2eaa18d..963a72f 100644
> --- a/drivers/tty/serial/atmel_serial.c
> +++ b/drivers/tty/serial/atmel_serial.c
> @@ -2292,7 +2292,7 @@ static void atmel_poll_put_char(struct uart_port *port, 
> unsigned char ch)
>  }
>  #endif
>  
> -static struct uart_ops atmel_pops = {
> +static const struct uart_ops atmel_pops = {
>       .tx_empty       = atmel_tx_empty,
>       .set_mctrl      = atmel_set_mctrl,
>       .get_mctrl      = atmel_get_mctrl,
> 
> 


-- 
Nicolas Ferre

Reply via email to