Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1559331 > unrolled thread

[PATCH] char: ipmi: constify ipmi_smi_handlers structures

Started byBhumika Goyal <bhumirks@gmail.com>
First post2017-01-15 20:20 +0100
Last post2017-01-15 21:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] char: ipmi: constify ipmi_smi_handlers structures Bhumika Goyal <bhumirks@gmail.com> - 2017-01-15 20:20 +0100
    Re: [PATCH] char: ipmi: constify ipmi_smi_handlers structures Corey Minyard <minyard@acm.org> - 2017-01-15 21:30 +0100

#1559331 — [PATCH] char: ipmi: constify ipmi_smi_handlers structures

FromBhumika Goyal <bhumirks@gmail.com>
Date2017-01-15 20:20 +0100
Subject[PATCH] char: ipmi: constify ipmi_smi_handlers structures
Message-ID<sZYvo-6jp-27@gated-at.bofh.it>
Declare ipmi_smi_handlers structures as const as they are only passed as
an argument to the function ipmi_register_smi. This argument is of type
const, so ipmi_smi_handlers structures having similar properties can be
declared const too.
Done using Coccinelle:

@r1 disable optional_qualifier@
identifier i;
position p;
@@
static struct ipmi_smi_handlers i@p={...};

@ok1@
identifier r1.i;
position p;
@@
ipmi_register_smi(&i@p,...)

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct ipmi_smi_handlers i;

Size details after cross compiling the .o file for powerpc architecture

File size before:
  text	   data	    bss	    dec	    hex	filename
  2777	    288	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o

File size after:
  text	   data	    bss	    dec	    hex	filename
   2873	    192	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
---
 drivers/char/ipmi/ipmi_powernv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/ipmi/ipmi_powernv.c b/drivers/char/ipmi/ipmi_powernv.c
index 6e658aa..b338a4b 100644
--- a/drivers/char/ipmi/ipmi_powernv.c
+++ b/drivers/char/ipmi/ipmi_powernv.c
@@ -196,7 +196,7 @@ static void ipmi_powernv_poll(void *send_info)
 	ipmi_powernv_recv(smi);
 }
 
-static struct ipmi_smi_handlers ipmi_powernv_smi_handlers = {
+static const struct ipmi_smi_handlers ipmi_powernv_smi_handlers = {
 	.owner			= THIS_MODULE,
 	.start_processing	= ipmi_powernv_start_processing,
 	.sender			= ipmi_powernv_send,
-- 
1.9.1

[toc] | [next] | [standalone]


#1559345

FromCorey Minyard <minyard@acm.org>
Date2017-01-15 21:30 +0100
Message-ID<sZZB7-6Yl-1@gated-at.bofh.it>
In reply to#1559331
On 01/15/2017 01:15 PM, Bhumika Goyal wrote:
> Declare ipmi_smi_handlers structures as const as they are only passed as
> an argument to the function ipmi_register_smi. This argument is of type
> const, so ipmi_smi_handlers structures having similar properties can be
> declared const too.
> Done using Coccinelle:

Thanks, queues for the next Linux patch mayhem.

-corey

> @r1 disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct ipmi_smi_handlers i@p={...};
>
> @ok1@
> identifier r1.i;
> position p;
> @@
> ipmi_register_smi(&i@p,...)
>
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct ipmi_smi_handlers i;
>
> Size details after cross compiling the .o file for powerpc architecture
>
> File size before:
>    text	   data	    bss	    dec	    hex	filename
>    2777	    288	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o
>
> File size after:
>    text	   data	    bss	    dec	    hex	filename
>     2873	    192	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o
>
> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
> ---
>   drivers/char/ipmi/ipmi_powernv.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/ipmi/ipmi_powernv.c b/drivers/char/ipmi/ipmi_powernv.c
> index 6e658aa..b338a4b 100644
> --- a/drivers/char/ipmi/ipmi_powernv.c
> +++ b/drivers/char/ipmi/ipmi_powernv.c
> @@ -196,7 +196,7 @@ static void ipmi_powernv_poll(void *send_info)
>   	ipmi_powernv_recv(smi);
>   }
>   
> -static struct ipmi_smi_handlers ipmi_powernv_smi_handlers = {
> +static const struct ipmi_smi_handlers ipmi_powernv_smi_handlers = {
>   	.owner			= THIS_MODULE,
>   	.start_processing	= ipmi_powernv_start_processing,
>   	.sender			= ipmi_powernv_send,

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web