On Thu, 27 Oct 2016, Bhumika Goyal wrote:

> Declare kset_uevent_ops structure as const as it is only passed as
> the second argument to the function kset_create_and_add. This
> argument is of type const struct kset_uevent_ops *, so kset_uevent_ops
> structures having this property can be declared const.
> Done using Coccinelle:
>
> @r1 disable optional_qualifier @
> identifier i;
> position p;
> @@
> static struct kset_uevent_ops i@p = {...};
>
> @ok1@
> identifier r1.i;
> position p;
> expression e1,e2;
> @@
> kset_create_and_add(e1,&i@p,e2)
>
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> static
> +const
> struct kset_uevent_ops i={...};
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct kset_uevent_ops i;
>
> File size before:
>    text          data     bss     dec     hex filename
>    8034           528     484    9046    2356 fs/dlm/lockspace.o
>
> File size after:
>    text          data     bss     dec     hex filename
>    8050           496     484    9030    2346 fs/dlm/lockspace.o
>
> Signed-off-by: Bhumika Goyal <bhumi...@gmail.com>

Acked-by: Julia Lawall <julia.law...@lip6.fr>

> ---
>  fs/dlm/lockspace.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
> index f3e7278..2ea1b77 100644
> --- a/fs/dlm/lockspace.c
> +++ b/fs/dlm/lockspace.c
> @@ -233,7 +233,7 @@ static int dlm_uevent(struct kset *kset, struct kobject 
> *kobj,
>       return 0;
>  }
>
> -static struct kset_uevent_ops dlm_uevent_ops = {
> +static const struct kset_uevent_ops dlm_uevent_ops = {
>       .uevent = dlm_uevent,
>  };
>
> --
> 1.9.1
>
>

Reply via email to